适用于任何图 (可以判断最短路不存在)
定义dis[v]为起点到点v的最短路, 那么对于一条边[u,v], dis[v] = min(dis[v], dis[u] + w[u][v]). 这种操作也被称为松弛(relax)操作.
这样以来,我们只需暴力遍历每条边并对其进行松弛,重复操作遍历 最多n - 1次(n为图点的数量) 即可得到最短路(或不存在)
n - 1是在最坏情况下,从一点连到另一点的次数 时间复杂度:O(nm)m为边的数量
适用于任何图 (可以判断最短路不存在)
定义dis[v]为起点到点v的最短路, 那么对于一条边[u,v], dis[v] = min(dis[v], dis[u] + w[u][v]). 这种操作也被称为松弛(relax)操作.
这样以来,我们只需暴力遍历每条边并对其进行松弛,重复操作遍历 最多n - 1次(n为图点的数量) 即可得到最短路(或不存在)
n - 1 是在最坏情况下,从一点连到另一点的次数
时间复杂度:O(nm) m 为边的数量