当前位置:文档之家› 算法设计与分析 贪心算法实验(2)

算法设计与分析 贪心算法实验(2)

实验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,。

相关主题
文本预览
相关文档 最新文档