先小小理解一下:
Dijkstra算法是我知道一个点像求最小生成树一样我自己找这个点以下的每个点,不一定按顺序吧;而Floyd算法是我有一个点,我遍历所有相连的点,是按顺序遍历的。至于Bellman-Ford和SPFA算法,我他么连名字都没背下来,更是没搞懂他俩了QAQ
(Dijkstra算法用于求解图中一个源点到其他各个点的最短距离)
(Floyd算法用于求解图中任意两点之间的最短距离)
储备一下:
1.
if(d[y]>d[x]+w[x][y])
{
d[y]=d[x]+w[x][y];
fa[y]=x;
} //松弛操作,常用于最短路
2.
给定一个带权有向图 G=(V,E) ,其中每条边的权是一个非负实数。另外,还给定 V 中的一个顶点,称为源。现在我们要计算从源到所有其他各顶点的最短路径长度,即路上各边权之和。这个问题通常称为单源最短路问题。
Dijkstra算法:适用于边权为正的情况。
该算法同时适用于有向图和无向图。
Dijkstra算法和 最小生成树Pr