版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验二:贪心算法【实验目的】深入理解贪心法的算法思想,应用贪心算法解决实际的算法问题。【实验性质】验证性实验。【实验要求】有n个活动的集合A=1,2,n,其中每个活动都要求使用同一资源,如演讲会场等,而在同一时间内只有一个活动能使用这一资源。求解安排尽量多项活动在该场地进行,即求A的最大相容子集。【程序代码】# include <stdio.h>void input(int a 3); /输入活动时间void sort (int a 3); /排序 void output1 (int a 3); /排序的结果输出int greed (int a 3, int arr503, int
2、 m); /判断记录被选中的活动时间 void output2 (int a503, int y,int m); /输出最大的的活动时间int yi=0;int n;int main ()int array503; int arr50503=0;int z, y, m, b12=0;printf ("活动总数量n(n<50)! nn");scanf ("%d", &n);input (array);sort (array);printf ("n");output1 (array);printf ("n"
3、;);for (m=0; m<n; m+)bm = greed (array, arr, m);y = 0;for (m=0; m<n; m+)if (y < bm)y = bm;z = m;printf ("安排活动时间的最大相容子集:n");output2 (arr, y,z);return 0;void input(int a 3) int i, j;for (i=0; i<n; i+)ai0=i+1;printf ("请输入第%d个活动的开始时间和结束时间:", i+1);for(j=1; j<3; j+)scanf
4、 ("%d", &aij);void sort (int a 3) int i, j, k, t;for (i=0; i<n-1; i+)for (j=0; j<n-1-i; j+)for (k=0; k<3; k+)if (aj2 > aj+12)t = ajk;ajk = aj+1k;aj+1k = t;void output1 (int a 3) int i, j;printf ("按结束时间的升序排列如下:n");for (i=0; i<n; i+) printf ("原来序号%d的开始时间和结束时
5、间 :", ai0);for (j=1; j<3; j+)printf (" %d", aij);printf ("n");int greed (int a 3, int arr503, int m) int i, j, k, y=1;k = am2;/for (i=0; i<3; i+)arryi0i = ami;/for (i=m; i<n; i+)if (k <= ai1)k = ai2;for (j=0; j<3; j+)arryiyj = aij;y+;yi+;return y;void output2
6、(int a503, int y,int m) int i, j;for (i=0; i<y; i+)printf ("选中了原来序号为第%d活动,他的开始结束时间分别为:", ami0);for (j=1; j<3; j+)printf ("%d ", amij );printf ("n");法二#include <stdio.h>#define active_num 11 /活动数#define true 1
7、160; /记录被选的活动#define false 0 /未被选择的活动int greedySelector(int s,int f,int b)/ 算法 b0 = true; int j = 0; int i = 1; int count = 1; for(
8、i = 1;i <=active_num; i+ ) if(si > fj) bi = true; &
9、#160; j = i; count+; else bi = false;
10、60; printf("active number is %dn",count); for(i=0;i<active_num;i+) if(bi = 1) printf("%d ",i+1);
11、; return 0;int main() int i; int start_timeactive_num; int finish_timeactive_num; &
12、#160; int booleanactive_num; printf("please input the start timen"); for(i = 0; i < active_num; i+)
13、; scanf("%d",&start_timei); printf("please input the finish timen"); for(i = 0; i < active_num; i+)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2027届高三数学一轮复习课件:第十章 10.2 离散型随机变量及其分布列、均值、方差
- 2026年度齐齐哈尔市铁锋区公开招聘合同制专职消防战斗员、驾驶员16人考试备考题库及答案解析
- 2026年及未来5年市场数据中国江西省个人贷款行业市场调研及投资规划建议报告
- 2026年及未来5年市场数据中国黄喉拟水龟养殖行业发展监测及行业市场深度研究报告
- 2026陕西西安文理学院高层次人才和紧缺特殊专业人才引进50人笔试备考题库及答案解析
- 汽车模型工安全演练模拟考核试卷含答案
- 2026年安徽中医药大学资产经营有限公司第一批次校园招聘23名笔试模拟试题及答案解析
- 2026中国科学院广州能源研究所分析测试中心技术员招聘1人(广东)笔试备考试题及答案解析
- 加氢裂化(处理)装置操作工发展趋势强化考核试卷含答案
- 天然香料制备工岗前基础安全考核试卷含答案
- 2026江苏连云港港口控股集团有限公司招聘1人笔试历年参考题库附带答案详解
- 2026山东济南新旧动能转换起步区招聘40人备考题库及答案详解(真题汇编)
- 2025华为经营管理丛书(第8版):华为质量运营管理
- 项目管理项目收尾阶段验收交付流程手册
- 2026浙江省浙共体中考数学一模试卷(含答案详解)
- 护士职称聘用证明标准范本
- 盐城市2023江苏盐城广播电视总台招聘笔试历年参考题库典型考点附带答案详解(3卷合一)
- 施工现场围挡安装计划
- 四级手术术前多学科讨论制度(2025年)
- T∕CCSAS 061-2025 特殊作业监护人员履责管理要求
- 肿瘤标志物异常结果分析
评论
0/150
提交评论