Guest User

Untitled

a guest
Jan 18th, 2018
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.51 KB | None | 0 0
  1. def connected_components(node_iterator, possible_moves):
  2. components = list()
  3. seen = set()
  4.  
  5. for node in node_iterator:
  6. if node not in seen:
  7. queue = deque([node])
  8. component = set()
  9.  
  10. while queue:
  11. current = queue.popleft()
  12. assert(current not in seen)
  13. component.add(current)
  14.  
  15. for nnext in possible_moves(current) - seen:
  16. queue.push(nnext)
  17.  
  18. components.append(component)
Add Comment
Please, Sign In to add comment