GRAPHLAB图算法实验室
把算法的每一步,看清楚。
图的遍历/Breadth-First Search

广度优先搜索 BFS

核心算法时间复杂度O(V + E)
本机自动保存
图画布8 个节点 · 13 条边
无向 · 加权
准备就绪
拖动节点调整位置 · 点击边可修改权重
步骤 0 / 0等待开始
i

点击「开始演示」,观察算法如何探索这张图。

编辑边权

权重为 −999 至 999。负权最短路请用 Bellman–Ford。

清空画布?

将删除当前图的全部节点和边。需要保留时,可以先导出图数据。

欢迎来到图算法实验室

选一张图,跟着每一步,理解算法为什么这样走。

01

选择算法与示例

左侧选择算法,画布上方切换图。BFS 和 DFS 只遍历从起点可达的节点;生成树算法会处理整张图。

02

编辑你的图

「节点」点击空白处添加;「连边」依次点击两个节点;「移动」拖动节点或点击边改权重;「删除」点击元素移除。

03

慢下来,看每一步

设置起点后开始演示。可暂停、前后单步或拖动时间轴。右侧同步展示数据结构、距离、前驱和当前伪代码。

适用范围与实验建议

教学模式最多 24 个节点、100 条边,权重 −999 至 999。支持有向/无向、加权/无权简单图。拒绝自环与同方向重边;有向反向边用两条曲线显示。无权图每条边权重为 1。旧版 JSON 可直接导入。

建议先对比 Dijkstra 朴素/二叉堆,再加载负权反例切换 Bellman–Ford,最后加载 DAG 演示拓扑排序。MST 只适用于无向图,可使用负权。无向负边往返可形成负闭合游走,Bellman–Ford 会将受影响节点标为 −∞。Kahn 未输出节点可能是环的后继,红色边才是提取的环见证。

双算法共享图与起终点,分别记录步骤,以相同步骤序号播放,短序列结束后保持最终帧。左侧仍可编辑图。操作计数不含界面、排序展示、快照复制等开销,不能把动画时长当性能测试。二叉堆使用重复入堆/跳过旧条目策略,堆数组并非全局排序表。

图结构和设置自动保存到当前浏览器;不跨设备同步。图编辑撤销最多保存 60 个状态,刷新后不保留撤销历史。导入、修改图结构会重置演示,拖动节点只改变布局。分享链接包含图数据,收到链接的人能查看这张图。

每次运行最多 12000 个完整状态快照、8 MiB 序列化载荷估算预算;真实内存更大。输入图在快照间共享且冻结。暂未实现大图、检查点重放或增量快照。

切换图模式

切换后可用「撤销」恢复。

图结构

边表是唯一数据源;其他表示按需派生。矩阵中的 ∅ 表示没有边,0 表示真实的零权边。

分享当前图

链接包含当前图和算法设置。对方打开后即可复现实验;不会持续同步后续编辑。