实验报告--kruskal算法
实验报告
课程名称 《算法分析与设计》 实验日期 2020 年 2 月 25日 至 2020年 3 月 3 日
学生姓名 戴昊宇 所在班级 计算机184 学号 2018212212015
实验名称 Kruskal算法构造最小生成树
实验地点 同组人员 无
1.问题
在n个城市之间建立公路,如何在最节省经费的前提下建立这个公路网络。求最少的总耗费。
2.解析
2.设计
//构建无向图,并定义相关的变量,顶点、边等
//创建二维数组
初始化二维数组
打印二维数组
插入顶点
添加顶点间的连线
//比较边的权值
//判断2个顶点的父节是否相同
//找到end节点的父节点x,再找到begin节点的父节点y,更新x节点的父节点为y
//用kruskal算法构造最小生成树
3.分析
Kruskal算法:
1.查找一半的矩阵,把各条边的起点,终点,权重,放到数组里
2.按照权重来排序
3.初始化每个节点的父节点,让每个节点的父节点为自身
所以,kruskal算法的时间复杂度为O(ElgE)。
4.源码
https://github.com/yyqx-1128/text