最短路的两种解法Dijkstra和spfa
最短路算法
问题描述
在加权图上,两点之间的最小边权和路径称为最短路径。
常用算法
Dijkstra算法
Dijkstra算法本质上可以看做一种贪心算法,即每次由已定最短路点集找出最小拓展点,并把最小拓展点并入最短路点集。
对于Dijkstra的正确性的证明,我们先证明以下引理:
**引理:**对于一个连通的最短路点集,从点集中拓展出的不在最短路点集的最短点,一定是该点的最短点。
证明:用反证法(具体就不写了)
代码:
struct Node{
int id,dist;
}
Node makeNod
原创
2020-10-17 12:50:58 ·
194 阅读 ·
0 评论