学习首页/图算法交互演示 · JavaScript

原理 · 代码 · 动画

图算法可视化教程

学习图算法的 7 个交互课程,包括广度优先遍历、深度优先遍历、Dijkstra 最短路径、拓扑排序等内容。结合原理、执行步骤、代码和动画理解实现过程。

图算法7 个课程

  • 广度优先遍历

    使用队列逐层访问图节点,并在入队时标记已发现节点。

  • 深度优先遍历

    沿一条分支深入,在访问完邻接节点后回溯。

  • Dijkstra 最短路径

    确定当前距离最小的节点,再松弛它的出边。

  • 拓扑排序

    将入度为零的节点依次移出,形成依赖执行顺序。

  • Kruskal 最小生成树

    按权重尝试连接两个分量,使用并查集排除形成环的边。

  • A* 寻路

    按已走步数与到终点的估计步数之和,选择下一格进行扩展。

  • Floyd 最短路径

    逐个允许顶点作为中间节点,更新任意两点之间的最短距离。