Draw walls (click & drag), drop a maze, then watch a search algorithm explore the grid and trace the path. BFS, Dijkstra and A* find the shortest path; DFS just finds a path. Watch how A*'s heuristic aims it at the goal and visits a fraction of the cells.
starttargetwallvisitedshortest pathdrag the start/target to move them
algorithm
A*
cells visited
0
path length
0
result
ready
Try this: generate a Maze, then run BFS and note the cells visited — it explores outward in all directions equally. Clear the path and run A* on the same maze: it visits far fewer cells because its heuristic (estimated distance to the target) pulls the search toward the goal — yet both return the same shortest path length. Then try DFS: it dives deep and usually returns a long, winding path that is not the shortest. On this unweighted grid Dijkstra behaves like BFS (every step costs 1); add weights and they'd diverge.