Skip to content

Commit bf3deff

Browse files
committed
[Refactor] Breadth first search uses a deque instead of a list.
1 parent 0d1cfca commit bf3deff

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

searches/breadth_first_search.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
from collections import deque
2+
13
def breadth_first_search(grid, start, target):
24
"""
35
Search a 2d grid for a given target starting at start.
@@ -23,7 +25,7 @@ def breadth_first_search(grid, start, target):
2325

2426
visited = set()
2527

26-
queue = [(x_start, y_start)]
28+
queue = deque([(x_start, y_start)])
2729
visited.add((x_start, y_start))
2830

2931
while queue:
@@ -37,7 +39,7 @@ def breadth_first_search(grid, start, target):
3739
return coor
3840
else:
3941
if coor not in visited:
40-
queue.insert(0, coor)
42+
queue.appendleft(coor)
4143
visited.add(current)
4244
return None
4345

0 commit comments

Comments
 (0)