原文链接:https://www.yuque.com/cppdev/algo/oz1a9x
【两个算法的回顾】
Prim | Dijkstra | |
---|---|---|
用途 | 树中所有边的权值之和最小 | 某个点到任何其他点的距离都是最短的 |
思想 | ①以顶点为操作对象,每次选择一个顶点并入子图; ②顶点的选择依据:子图顶点到其他顶点的最短边 |
①以顶点为操作对象,每次选择一个顶点并入子图; ②顶点选择依据:起点到其他顶点的最短路径 |
数据结构 | ①子图vest[i]:结点i是否已并入生成树; ②lowcost[i]:结点i到子树的最短边权重 |
①子图set[i]:结点i是否在子图中 ②dist[i]:起点v0到结点i的最短路径值为dist[i] ③path[i]:为该路径中i的前一个结点 |
代码 |