1 最小生成树
- 构造连通网的最小代价生成树为最小生成树。
- 简言之就是让整个图所有顶点都通过一棵树连接起来,这棵树的权值相加最小
- 常用于
Kruskal算法
假设n个点,将所有边集排序,依次将符合的边(不会构成环)取出,直到边的数量等于n-1
prim算法
与Dijkstra算法极其类似,Dijkstra求解的是最短路径,Dijkstra中minDist是从起点0到指定节点的长度,而prim算法中minDist是两个顶点集合的最小距离
每一步连接两个顶点集合
数据结构是三个列表
通过每个点以及它的parent可以画出符合的树
参考视频讲解
2.最短路径
Dijkstra算法
参考讲解视频
类似prim算法,但这里的minDist是从起点0到指定节点的最小路径长度,每次更新当前选定节点的邻接节点到起点的最短距离,直到所有点都选完了,结束,输出到终点的路径