1.随机生成一个无向网要求: (1)无向网G=( V,E),V={A,B,C,D,E,T}:EIl-11,即固定6个顶点11条边;(2)边的权值随机取值范围为[ 1,40 ],11条边的权值不能重复(保证生成树唯一);(3)存储结构使用邻接矩阵。 2.求该无向网的最小生成树要求: (1)用Prim算法求无向网G的最小生成树,给出选择顶点的顺序; (2)用Kruskal算法从顶点A出发求无向网G的最小生成树,给出添加边的顺序;3)计算出最小生成树的代价:
时间: 2024-02-16 09:02:26 浏览: 93
无向网求最小代价生成树
好的,我来回答你的问题。
1. 首先,我们可以按照要求生成邻接矩阵表示的无向网:
| | A | B | C | D | E | T |
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
| A | 0 | 4 | 0 | 0 | 9 | 0 |
| B | 4 | 0 | 8 | 0 | 0 | 0 |
| C | 0 | 8 | 0 | 7 | 0 | 2 |
| D | 0 | 0 | 7 | 0 | 0 | 6 |
| E | 9 | 0 | 0 | 0 | 0 | 0 |
| T | 0 | 0 | 2 | 6 | 0 | 0 |
其中,0 表示两个顶点之间没有边相连,其它数字表示相应的边的权值。
2. 我们可以用 Prim 算法求出最小生成树,选择顶点的顺序为 A-E-T-C-D-B。添加边的顺序为(以 A-E-T-C-D-B 的顺序为基础):
1. A-E (权值为 9)
2. E-T (权值为 0)
3. T-C (权值为 2)
4. C-D (权值为 7)
5. D-B (权值为 0)
最终得到的最小生成树为:
| | A | B | C | D | E | T |
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
| A | 0 | 0 | 0 | 0 | 9 | 0 |
| B | 0 | 0 | 0 | 0 | 0 | 0 |
| C | 0 | 0 | 0 | 7 | 0 | 2 |
| D | 0 | 0 | 7 | 0 | 0 | 0 |
| E | 9 | 0 | 0 | 0 | 0 | 0 |
| T | 0 | 0 | 2 | 0 | 0 | 0 |
最小生成树的代价为 9+0+2+7+0=18。
阅读全文