找到某一结点n和各个其他节点的每个最短距离
a[i][j] 是i节点和j节点的距离
p[i] 是是否访问了该节点
d[i] 是i节点和n节点的最短距离
总共m个节点,进行m次遍历每次更新好一个d[i]
每次遍历节点k的具体行动为,
1首先找到当前的d[i] 的min为本次要确定的d[k]
2然后将p[k]标记为true
3将所有其他p为false的剩下d[i] 更新为 d[i] 和 d[k]+a[i][k] 的min
遍历完毕则d[i] 即使最短距离的集合
C++:
找到某一结点n和各个其他节点的每个最短距离
a[i][j] 是i节点和j节点的距离
p[i] 是是否访问了该节点
d[i] 是i节点和n节点的最短距离
总共m个节点,进行m次遍历每次更新好一个d[i]
每次遍历节点k的具体行动为,
1首先找到当前的d[i] 的min为本次要确定的d[k]
2然后将p[k]标记为true
3将所有其他p为false的剩下d[i] 更新为 d[i] 和 d[k]+a[i][k] 的min
遍历完毕则d[i] 即使最短距离的集合
C++: