dormant_set = views
curr := most_links(dormant_set, dormant_set)
active_set.add(curr)
dormant_set.remove(curr)
WHILE NOT EMPTY dormant_set
curr := most_links(dormant_set, active_set)
active_set.add(curr)
dormant_set.remove(curr)
queue.push(curr)
WHILE NOT EMPTY queue
curr := queue.pop()
nbors := active_set.neighbors(curr)
relative_change := align(curr, nbors)
IF relative_change > tolerance
queue.merge(nbors)