Dijkstra算法:
例题:计算源顶点1到其他顶点间的最短路径:
得到下面的迭代过程:(此表格可以按自己的理解修正)
迭代 | S | u | dist[2] | dist[3] | dist[4] | dist[5] |
初始 | {1} | - | 10 | maxint | 30 | 100 |
1 | {1,2} | 2 | 10 | 60 | 30 | 100 |
2 | {1,2,4} | 4 | 10 | 50 | 30 | 90 |
3 | {1,2,4,3} | 3 | 10 | 50 | 30 | 60 |
4 | {1,2,4,3,5} | 5 | 10 | 50 | 30 | 60 |
最小生成树:在一个无向连通带权图中找出一颗包含所有顶点的树,且他的权值最小。
Prim算法的例题:
选出最小生成树的过程如下:
Kruskal算法:
以下为生成过程: