Breadth-First Search (BFS)

T: O(rows × cols)
Feedback

Breadth-First Search (BFS)

Start: mark start cell as visited and add it to the queue.
0,00,10,20,40,51,01,21,42,02,22,32,42,53,03,13,23,54,04,24,34,44,5
Visited
In queue
Current
Adding
SpeedNormal (500ms)
Parameters

{ grid: number[][] (0=empty, 1=wall), startRow, startCol }

Variables
queue (front → back)[(0,0)]
visited cells1
1BFS(grid, start):
2 mark start visited, queue = [start]
3 while queue not empty:
4 cell = queue.dequeue() ← take from front
5 for each neighbor (up/down/left/right):
6 if neighbor empty and not visited:
7 mark visited, queue.enqueue(neighbor)
8 done
Output
Start: mark start cell as visited and add it to the queue.