它是如何工作的?
Coddy Dijkstra 算法:图算法 课程的第 3 课,共 9 课。
维护一个 dist 数组:dist[source] = 0,其他每个顶点的初始值都是“无穷大”(一个非常大的数)。为每个顶点维护一个 visited 标记。
分步过程:
- 在未访问的顶点中,选择
dist最小的顶点u。如果没有可到达的顶点,就停止。 - 将
u标记为已访问:它的距离现在已确定。 - 松弛
u -> v的每条权重为w的边:如果dist[u] + w < dist[v],就减小dist[v]。 - 重复以上步骤,直到所有可到达的顶点都已确定。
最后,仍为无穷大的顶点都不可到达(我们将其报告为 -1)。
亲手试试
这节课没有代码挑战。
这节课包含一个小测验。开始学习即可作答,并记录你的进度。
Dijkstra 算法:图算法中的所有课
自己练习: C 在线编译器