Dijkstra 算法可视化工具
在网格上可视化 Dijkstra 寻路算法——绘制墙壁、拖动起点/终点、生成迷宫,并逐步查看搜索过程。直接在浏览器中运行。
Click & drag on the grid to draw walls · drag the green and red squares to move start / goal · then press Play. Want a challenge? Hit 亲自试玩 and solve the maze by hand.
Move the indigo token with ↑ ↓ ← → / WASD (or tap an adjacent cell) from the green start to the red goal. Walls block you.
伪代码
Time · Space
使用方法
- 1 在网格上点击并拖动来绘制墙壁;拖动绿色起点或红色终点可以移动它们的位置。
- 2 点击 Play 观看 Dijkstra 按距离顺序从起点逐步向外扩展。
- 3 使用 Maze 一键生成障碍物,或使用 Step 逐格执行。
- 4 到达终点后,最短路径会以金黄色高亮显示。
为什么使用此工具
- 观察 Dijkstra 按距离递增的顺序探索各个格子——这是经典的一致代价搜索(uniform-cost search)方式。
- 在无权重的网格中,每条边的代价都是 1,因此 Dijkstra 能够找到最短路径。
- 将它较大的探索范围与 A* 算法对比,后者借助启发式函数直接朝终点方向搜索。
- 完全在你的浏览器中运行,无需注册,无需上传文件。
常见问题
Dijkstra 算法是什么?
Dijkstra 算法用于在边权非负的加权图中,求出从一个起始节点到所有其他节点的最短路径,其原理是每次都优先扩展尚未访问过的距离最近的节点。
Dijkstra 算法的时间复杂度是多少?
使用二叉堆实现的优先队列时,时间复杂度为 O(E log V),其中 V 是顶点数,E 是边数。
Dijkstra 算法与 BFS 有什么区别?
在无权图中,两者的探索方式相同,都能找到最短路径。Dijkstra 算法将 BFS 推广到了加权图,做法是将边界队列按累计距离排序,而不是按跳数排序。
Dijkstra 算法与 A* 算法有什么区别?
A* 算法会在优先级中加入对剩余距离的启发式估计,因此它会直接朝终点方向探索,通常只需访问少得多的节点就能找到最短路径。
什么是 Dijkstra 算法可视化工具?
Dijkstra 算法可视化工具模拟了在网格上寻找最短路径的过程:算法不断从尚未访问的最近格子向外扩展,按距离逐层探索,直到到达终点,随后高亮显示最短路径。你可以绘制墙壁,并拖动起点和终点。
Dijkstra 算法可视化工具 是 Zerethon Tools 提供的免费 算法 工具。在网格上可视化 Dijkstra 寻路算法——绘制墙壁、拖动起点/终点、生成迷宫,并逐步查看搜索过程。直接在浏览器中运行。. 完全在浏览器中运行 — 无需注册,无需上传。
- 分类
- 算法
- 价格
- 免费
- 隐私
- 基于浏览器
- 注册
- 无需
隐私
除非另有说明,否则你的数据永远不会离开浏览器。Dijkstra 算法可视化工具 完全在客户端运行 — 无需上传服务器,不记录日志,不追踪你输入的内容。
刚接触?阅读包含 Big-O 分析的分步讲解: 了解 Graph Algorithms →
对比
相关工具
A* 寻路算法可视化工具
在方格网格上交互式演示 A* 寻路算法,使用曼哈顿距离启发式函数——绘制墙壁障碍、拖动起点/终点、生成迷宫、逐步执行搜索过程。完全在浏览器中运行。
打开工具广度优先搜索(BFS)可视化工具
在网格地图上交互式演示广度优先搜索——绘制墙壁、拖动起点/终点、生成迷宫,逐层查看搜索范围如何扩展。直接在浏览器中运行。
打开工具深度优先搜索(DFS)可视化工具
在方格网格上交互式演示深度优先搜索——绘制墙壁、拖动起点/终点、生成迷宫、逐步查看深入探索的过程。直接在浏览器中运行。
打开工具冒泡排序可视化工具
带动画演示的冒泡排序模拟器,提供单步执行、速度调节、自定义输入数据、实时比较/交换计数器以及伪代码同步高亮。完全在浏览器中运行。
打开工具在 Zerethon Social 上创作、分享与成长
免费注册。赚取积分,收集成就,与全球创作者建立联系。