课程设计--贪心算法
《课程设计--贪心算法》由会员分享,可在线阅读,更多相关《课程设计--贪心算法(10页珍藏版)》请在毕设资料网上搜索。
1、 数 据 结 构 课 程 设 计数 据 结 构 课 程 设 计 贪心算法贪心算法 专业专业 软件工程软件工程 班级班级 B 软件软件 121 学号学号 学生姓名学生姓名 数据结构课程设计贪心算法:任务调度问题 目目 录录 1 设计题目 . 1 2 设计分析 . 1 3 设计实现 . 4 4 测试方法 . 7 4.1 测试目的 7 4.2 测试输入 . 7 4.3 正确输出 . 7 4.4 实际输出 . 7 5 分析与探讨 . 8 5.1 测试结果分析 . 8 5.2 探讨与改进 . 8 6 设计小结 . 8 数据结构课程设计贪心算法:任务调度问题 1 1 设计题目 有n项任务,要求按顺序执行,
2、并设定第i项任务需要ti单位时间。如果任务 完成的顺序为1,2,n,那么第i项任务完成的时间为ci=t1+ti,平 均完成时间(Average Completion Time,ACT)即为(c1+cn)/n。本题要 求找到最小的任务平均时间。 输入要求: 输入数据中包含几个测试案例。每一个案例的第一行给出一个不大于2000000 的整数n,接着下面一行开始列出n个非负整数t(t=0;) /*当 n小于 0 的时候,退出程序*/ scanf(“%ld”, if(n0) 建立一个具有 n个元素的数组; for(i=0;i1),把数组的全部元素分成d1个组。所有距离为 d1的倍数的记录放在同一个组中
3、。先在各组内进行直接插入排序;然后,取第二个 增量d21; increment0; increment=1 ) /*每次的步长都是通过n值右移位来得到的*/ for(i = increment; i =increment; j-= increment) if( temp = 0 ; ) double r100; /*用来存放每个测试案例的计算结果*/ j=0; /*记录测试案例的个数*/ for(对每一个测试案例) 把计算得到的最优调度时间放入 rj中; j+; /*当输入的 n值为负数时。跳出上面的 for 循环*/ for(从 0 到 j) if(ri=-1)printf(“n“);/*输
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中设计图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课程设计 贪心 算法
