寻路可视化工具
观看图的遍历与最短路径的寻找过程
免费
无需注册
在浏览器中运行
图与寻路算法要回答两个问题:我能到达这个节点吗? 以及 最便宜的路线是什么? 这些可视化工具会绘制搜索前沿的扩展过程,让 BFS 这类无信息搜索与 A* 这类启发式搜索之间的差异一目了然。
在你自己的网格上运行每种算法,放置墙壁和权重,生成迷宫,并逐步查看究竟哪些格子被访问以及原因。
浏览 Visualizers
Dijkstra's Algorithm Visualizer
贪心地确定最近的节点 — 带权图上的最短路径,O((V+E) log V)。
A* Pathfinding Visualizer
在 Dijkstra 基础上加入指向目标的启发式函数 — 点对点搜索所需探索的节点大幅减少。
Breadth-First Search (BFS) Visualizer
使用队列逐层探索 — 无权图上的最短路径,O(V+E)。
Depth-First Search (DFS) Visualizer
使用栈沿一条分支深入探索 — 非常适合环检测和迷宫生成。
Maze Generator
生成随机迷宫以测试各种寻路算法。
为什么要将寻路过程可视化?
寻路技术支撑着 GPS 导航、游戏 AI 和网络设计。看到 BFS 均匀地向外扩散,而 A* 则直奔目标,能以伪代码无法呈现的方式让启发式算法的原理豁然开朗 — 非常适合学生学习和面试准备。
常见问题
BFS、DFS、Dijkstra 和 A* 之间有什么区别?
BFS 逐层探索,在无权图上找到最短路径;DFS 沿一条分支深入探索;Dijkstra 在带权图上找到最短路径;A* 通过一个指向目标的启发式函数加速 Dijkstra。
什么时候应该使用 A* 而不是 Dijkstra?
当你能估计剩余距离时(例如直线距离),对于点对点寻路请使用 A* — 启发式函数能让它探索少得多的格子。当你需要到达每个节点的路径,或者没有好的启发式函数时,请使用 Dijkstra。