1.随机生成一个无向网要求: (1)无向网G=( V,E),V={A,B,C,D,E,T}:EIl-11,即固定6个顶点11条边;(2)边的权值随机取值范围为[ 1,40 ],11条边的权值不能重复(保证生成树唯一);(3)存储结构使用邻接矩阵。 2.求该无向网的最小生成树要求: ,43:56 下午 (1)用Prim算法求无向网G的最小生成树,给出选择顶点的顺序; (2)用Kruskal算法从顶点A出发求无向网G的最小生成树,给出添加边的顺序;3)计算出最小生成树的代价:
时间: 2024-02-16 17:02:23 浏览: 22
好的,我收到了你的问题,下面是我的回答。
1. 根据要求,我们可以随机生成邻接矩阵表示的无向网:
| | A | B | C | D | E | T |
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
| A | 0 | 0 | 39| 0 | 0 | 0 |
| B | 0 | 0 | 0 | 4 | 0 | 0 |
| C | 39| 0 | 0 | 0 | 0 | 0 |
| D | 0 | 4 | 0 | 0 | 0 | 0 |
| E | 0 | 0 | 0 | 0 | 0 | 32|
| T | 0 | 0 | 0 | 0 | 32| 0 |
其中,0 表示两个顶点之间没有边相连,其它数字表示相应的边的权值。
2. 我们可以用 Prim 算法求出最小生成树,选择顶点的顺序为 A-C-E-T-B-D。添加边的顺序为(以 A-C-E-T-B-D 的顺序为基础):
1. A-C (权值为 39)
2. C-E (权值为 32)
3. E-T (权值为 32)
4. T-B (权值为 0)
5. B-D (权值为 4)
最终得到的最小生成树为:
| | A | B | C | D | E | T |
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
| A | 0 | 0 | 39| 0 | 0 | 0 |
| B | 0 | 0 | 0 | 4 | 0 | 0 |
| C | 39| 0 | 0 | 0 | 0 | 0 |
| D | 0 | 4 | 0 | 0 | 0 | 0 |
| E | 0 | 0 | 0 | 0 | 0 | 32|
| T | 0 | 0 | 0 | 0 | 32| 0 |
最小生成树的代价为 39+32+32+0+4=107。
3. 我们也可以用 Kruskal 算法求出最小生成树,添加边的顺序为:
1. T-E (权值为 32)
2. D-B (权值为 4)
3. A-C (权值为 39)
4. E-C (权值为 32)
5.
最终得到的最小生成树也是上述结果。