实验7 贪心算法实验(2)
实验内容
1. 在某个城市里住着n个人,现在给定关于这n个人的m条信息(即某2个人认识)。假设所有认识的人一定属于同一个单位,请计算该城市有多少个单位?
输入:第1行的第1个值表示总人数,第2个值表示总信息数;第2行开始为具体的认识关系信息。例:
10 4
2 3
4 5
4 8
5 8
输出:单位个数。例:
7
2. 编程实现Kruskal算法。输入:顶点编号及边权重。例:0 1 10
0 2 15
输出:最小生成树。例:0 1 10
0 2 15
3. 编程实现Dijkstra算法。
输入:第1行第1个值表示顶点个数,第2个值表示边个数;第2行开始为边及权重。例:
5 7
0 1 10
0 3 30
0 4 100
1 2 50
2 4 10
3 2 20
3 4 60
输出:顶点0到每一个顶点的最短路径长度。例:
0 10 50 30 60
4. 使用贪心算法求解多机调度问题的近似最优解。
输入:第1行输入机器数量m,作业数量n;第2行输入每个作业所需的加工处理时间。例:
3 7
2 14 4 16 6 5 3
输出:n个作业全部加工处理完成所需最短时间的近似最优值。例:17
说明:
(1) 编程语言不限,建议使用Java、C++或者C语言。
(2) 需要将程序源代码复制并粘贴到每道题之后的方框中(部分题需要填写输出结果)。
(3) 在提交实验报告时,先关闭所有文件,再将文件名改为“学号-7.doc”;将实验报告在指定时间之前由学习委员收集整理后统一发送至邮箱weiliu_china@https://www.doczj.com/doc/3618148663.html,。