Skip to content

Instantly share code, notes, and snippets.

@leegao
Created July 19, 2016 16:15
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save leegao/4c05de1e393ffaa4b756cd56eb33835a to your computer and use it in GitHub Desktop.
Save leegao/4c05de1e393ffaa4b756cd56eb33835a to your computer and use it in GitHub Desktop.
def getAllNeighbors(origin, steps = 1):
seen = {origin}
worklist = [origin]
while steps:
new_worklist = []
for next in worklist:
seen.add(next)
for neighbor in next.get_all_neighbors(15):
if neighbor not in seen: new_worklist.append(neighbor)
worklist = new_worklist
steps -= 1
return seen
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment