上述问题的带权图中,1-5相连的线改为2-4相连,5-9相连的线改为6-8相连
时间: 2024-03-14 13:46:54 浏览: 68
好的,那么修改后的带权图如下所示,边的权值已经标注在图中:
```
1--2--3
|\ |\ |
| \| \|
4--5--6
|\ |\ |
| \| \|
7--8--9
```
普林算法:
1. 从节点1开始,将1加入已选节点集合,将1到2、1到4和1到5的三条边加入备选边集合;
2. 从备选边集合中选取权值最小的一条边1到2,将2加入已选节点集合,将2到3和2到5的边加入备选边集合;
3. 从备选边集合中选取权值最小的一条边2到5,将5加入已选节点集合,将5到6和5到8的边加入备选边集合;
4. 从备选边集合中选取权值最小的一条边5到8,将8加入已选节点集合,将8到9和8到7的边加入备选边集合;
5. 从备选边集合中选取权值最小的一条边8到7,将7加入已选节点集合,将7到4的边加入备选边集合;
6. 从备选边集合中选取权值最小的一条边7到4,将4加入已选节点集合,将4到1的边加入备选边集合;
7. 从备选边集合中选取权值最小的一条边4到1,将3加入已选节点集合,将3到6的边加入备选边集合;
8. 从备选边集合中选取权值最小的一条边3到6,将6加入已选节点集合,将6到9的边加入备选边集合;
9. 已选节点集合中包含所有节点,生成树完成。
选取的边及总权值为:1-2(1)、2-5(1)、5-8(2)、8-7(1)、7-4(1)、4-1(1)、1-3(2)、3-6(2),总权值为11。
克鲁斯卡尔算法:
1. 将所有边按照权值从小到大排序;
2. 依次选取权值最小的边,如果边的两个端点不在同一个集合中,则将它们合并,将这条边加入生成树;
3. 重复步骤2,直到生成树包含所有节点。
选取的边及总权值为:1-2(1)、4-7(1)、2-5(1)、5-8(2)、3-6(2)、1-4(3)、3-9(4)、6-8(5),总权值为19。
阅读全文