




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
HUBEI UNIVERSITY OF AUTOMOTIVE TECHNOLOGY算法设计与分析实 验 报 告实验项目实验二实验类别验证性学生姓名王龙学生学号201400797完成日期2016-4-15指导教师刘振章实验成绩评阅日期评阅教师刘振章实验二:贪心算法【实验目的】深入理解贪心法的算法思想,应用贪心算法解决实际的算法问题。【实验性质】验证性实验。【实验要求】有n个活动的集合A=1,2,n,其中每个活动都要求使用同一资源,如演讲会场等,而在同一时间内只有一个活动能使用这一资源。求解安排尽量多项活动在该场地进行,即求A的最大相容子集。设待安排的11个活动的开始时间和结束时间按结束时间的升序排列如下:i1234567891011si130535688212fi4567891011121314将此表数据作为实现该算法的测试数据。【算法思想及处理过程】实验的算法思想:活动优先安排最早结束的项目,并且要求后一个活动与前一个活动相容,即sjfi时(j为后一个活动),最后输出安排尽可能多的相容活动。void input(int a 3):输入时间。 通过函数中的for循环输入活动的开始时间和结束时间,并自动续上输入顺序编号。void sort (int a 3):排序。 通过二重for循环对结束时间进行比较,在通过一重for循环交换时间和序号。int greed (int a 3, int arr113, int m):判断记录被选中的活动时间 。 本函数是本程序的核心:1、从第M个活动时间开始(利用主函数中的M,M是从0到11),通过for循环和if语句比较后一个活动的开始时间是否大于前一个活动的结束时间,如果如果大于,则用一个三维数组arr记录下了;然后换到下一个活动时间2、重复第1步,直到最后一个活动为止。【程序代码】# include void input(int a 3); /输入活动时间void sort (int a 3); /排序 void output1 (int a 3); /排序的结果输出int greed (int a 3, int arr113, int m); /判断记录被选中的活动时间 void output2 (int a113, int y,int m); /输出最大的的活动时间int yi=0;int main ()int array113;int arr11113=0;int z, y, m, b12=0;input (array);sort (array);printf (n);output1 (array);printf (n);for (m=0; m11; m+)bm = greed (array, arr, m);y = 0;for (m=0; m11; m+)if (y bm)y = bm;z = m;printf (安排活动时间的最大相容子集:n);output2 (arr, y,z);return 0;void input(int a 3) int i, j;printf (请按提示操作! nn);for (i=0; i11; i+)ai0=i+1;printf (请输入第%d个活动的开始时间和结束时间:, i+1);for(j=1; j3; j+)scanf (%d, &aij);void sort (int a 3) int i, j, k, t;for (i=0; i10; i+)for (j=0; j10-i; j+)for (k=0; k aj+12)t = ajk;ajk = aj+1k;aj+1k = t;void output1 (int a 3) int i, j;printf (按结束时间的升序排列如下:n);for (i=0; i11; i+) printf (原来序号%d的开始时间和结束时间 :, ai0);for (j=1; j3; j+)printf ( %d, aij);printf (n);int greed (int a 3, int arr113, int m) int i, j, k, y=1;k = am2;/for (i=0; i3; i+)arryi0i = ami;/for (i=m; i11; i+)if (k = ai1)k = ai2;for (j=0; j3; j+)arryiyj = aij;y+;yi+;return y;void output2 (int a113, int y,int m) int i, j;for (i=0; iy; i+)printf (选中了原来序号为第%d活动,他的开始结束时间分别为:, ami0);for (j=1; j3
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 广发银行杭州市拱墅区2025秋招无领导小组面试案例库
- 2024-2025学年工程硕士能力检测试卷及完整答案详解(名师系列)
- 2025政法干警复习提分资料【基础题】附答案详解
- 2025年广东河源紫金县委党校招聘编外人员笔试高频难、易错点备考题库及完整答案详解1套
- 辅警招聘考试模考模拟试题及完整答案详解(有一套)
- 光大银行宁波市象山县2025秋招半结构化面试15问及话术
- 兴业银行烟台市福山区2025秋招无领导模拟题角色攻略
- 2025年云南曲靖宣威市综合行政执法局招聘编制外工作人员10人笔试高频难、易错点备考题库及参考答案详解一套
- 浦发银行西安市雁塔区2025秋招笔试EPI能力测试题专练及答案
- 招商银行厦门市湖里区2025秋招笔试英文行测高频题含答案
- YC/Z 550-2016卷烟制造过程质量风险评估指南
- 工程水文第3章课件
- GB/T 4032-2013具有摆轮游丝振荡系统的精密手表
- GB/T 34875-2017离心泵和转子泵用轴封系统
- GB/T 21063.4-2007政务信息资源目录体系第4部分:政务信息资源分类
- GA/T 1081-2020安全防范系统维护保养规范
- 02药物不良反应adr课件
- 施工项目成本管理课件
- 文物建筑保护修缮专项方案
- 营销与2008欧锦赛ktv渠道方案
- 故障录波器课件
评论
0/150
提交评论