跳到主要内容
Z Graph & Pathfinding

广度优先搜索(BFS)可视化工具

在网格地图上交互式演示广度优先搜索——绘制墙壁、拖动起点/终点、生成迷宫,逐层查看搜索范围如何扩展。直接在浏览器中运行。

免费 无需注册 客户端运行 注重隐私 Updated

Move the indigo token with / WASD (or tap an adjacent cell) from the green start to the red goal. Walls block you.

Moves: Time: 🎉 Reached the goal!
/

伪代码

使用方法

  1. 1 点击并拖动鼠标绘制墙壁;拖动绿色的起点或红色的终点即可移动它们的位置。
  2. 2 点击 Play 观看 BFS 从起点开始逐层扩展的过程。
  3. 3 使用 Maze 可以立即生成障碍物,使用 Step 可以逐格执行搜索。
  4. 4 在无权重网格上,BFS 找到的路径必定是最短的(经过的格子数最少)。

为什么使用此工具

  • 直观看到搜索前沿(frontier)一圈圈向外扩展——这是 BFS 的典型特征。
  • 理解 BFS 为什么能在无权重图上找到最短路径。
  • 对比 BFS 的均匀扩展方式与 DFS(沿单一方向深入)、A*(直奔目标)的差异。
  • 完全在你的浏览器中运行,无需注册,也无需上传任何数据。

常见问题

什么是广度优先搜索?

BFS 借助队列结构逐层探索图:先访问某个节点的所有相邻节点,再继续访问这些相邻节点的邻居。在无权重图上,该算法能够找到最短路径。

BFS 的时间复杂度是多少?

O(V + E)——每个顶点和每条边都只会被处理一次,其中 V 是顶点数,E 是边数。

BFS 总能找到最短路径吗?

在无权重图上可以。如果是带权重的图,应该使用 Dijkstra 或 A*,因为这些算法会考虑每条边的权重成本。

BFS 和 DFS 有什么区别?

BFS 使用队列并逐层向外扩展(在无权重图上能保证找到最短路径);DFS 使用栈,会沿着一条路径尽可能深入之后再回溯(不能保证找到最短路径)。

什么是 广度优先搜索(BFS)可视化工具?

广度优先搜索(BFS)可视化工具通过队列结构模拟 BFS 逐层探索网格的过程,从起点开始一圈一圈地向外扩展。在无权重网格中,该算法能够找到最短路径,找到终点时会将这条路径高亮显示出来。

功能特性

逐步动画演示

观察队列如何一层一层地扩展搜索前沿(frontier)。

复杂度

时间复杂度:O(V + E)。空间复杂度:O(V)。可在无权图中找到最短路径。

100% 隐私保护

完全在你的浏览器中运行——不会上传任何数据。

示例

Input

graph 1–2, 1–3, 2–4, 3–4; start 1

Output

visit order: 1 → 2 → 3 → 4 (level by level)

常见使用场景

  1. 1

    最短路径(无权图)

    了解为什么 BFS 能从源点找到边数最少的路径。

  2. 2

    按层遍历

    逐层探索图或树结构。

  3. 3

    连通性与可达性

    查找从起点可以到达哪些节点。

概要

Zerethon 的 BFS 可视化工具在浏览器中动态演示图的广度优先搜索,使用队列(queue)从源点开始逐层探索。BFS 的时间复杂度为 O(V + E),空间复杂度为 O(V),可在无权图中找到最短路径(边数最少的路径)。

分类
算法
价格
免费
隐私
基于浏览器
注册
无需

参考资料

隐私

除非另有说明,否则你的数据永远不会离开浏览器。广度优先搜索(BFS)可视化工具 完全在客户端运行 — 无需上传服务器,不记录日志,不追踪你输入的内容。

刚接触?阅读包含 Big-O 分析的分步讲解: 了解 Graph Algorithms →

在 Zerethon Social 上创作、分享与成长

免费注册。赚取积分,收集成就,与全球创作者建立联系。

免费注册