形式陈述
给定带非负边权
正确性关键是:非负边权保证任何经未确定顶点绕行到
直觉
像从源点向外扩张一个按距离排序的波前;最靠近波前的未确定点一旦被取出,未来只能再加非负长度,无法从更远处回来改短它。
例子与边界
边
推论与应用
Dijkstra 用于路由、地图、网络延迟和作为 Johnson 全源最短路的子程序。数据结构选择决定稠密/稀疏图上的实际复杂度。
参考资料
- Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein, Introduction to Algorithms, 4th ed., MIT Press, 2022,Ch. 22, single-source shortest paths with nonnegative weights。
- Jon Kleinberg and Éva Tardos, Algorithm Design, Pearson, 2005,Ch. 4, Dijkstra algorithm and greedy proof。