内容摘要
最短路径不止一种 · BFS / Dijkstra / Floyd 各在哪翻车 灏 灏天文库 · 算法与数学基础 第 3 期 · 连载中 算法与数学基础 · 第 3 期 最短路径 不止一种 BFS / Dijkstra / Floyd · 各在哪翻车 BFS、Dijkstra、Floyd 都在求最短路径,但适用场景完全不同: 无权图用 BFS , 正权图用 Dijkstra , 全源最短路用 Floyd 。负权边会让 Dijkstra 给出错误答案,稠密图会让 Floyd 占满内存—— 选错算法,不是慢,是错 。 ⏱ 约 11 分钟 🎯 用过 Dijkstra 但没想过它边界的人 📦 源:OI-wiki · 最短路 01 一个反共识:最短路算法不是"越高级越好" 很多人觉得 Floyd 比 Dijkstra 高级、Dijkstra 比 BFS 高级,所以都该用 Floyd。错。三种算法解决的是不同问题,用错不是慢,是错。 BFS | 无权 · Dijkstra | 正权 · Floyd | 全源 BFS 把每条边当权重 1,用队列一层层扩散,O(V+E)。