算法分析实验1

算法分析实验1

ID:22744242

大小:411.94 KB

页数:19页

时间:2018-10-31

算法分析实验1_第1页
算法分析实验1_第2页
算法分析实验1_第3页
算法分析实验1_第4页
算法分析实验1_第5页
资源描述:

《算法分析实验1》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、名称:算法设计分析实验姓名••杨秀龙学号:1107300432班级:创新实验111班老师:张锦雄日期:2014/12/24实验一全排列、会场安排问题一、实验要求主要实验N容及要求:全排列:耍求键盘输入若干个不同的字符,然后产生并显示所有的排列。会场安排问题:1.耍求按贪心法求解问题;2.要求读文本文件输入活动安排时间区问数据(数据在文件中的格式如下);3.不能改变活动的编号,排序吋不能移动活动的所冇信息;4.按选择顺序显示活动的编号、开始时间和结束时间。输入数据的文木文件格式:第1行为活动个数,第2行开始每行一个活动,每个活动的数据宥活动编号、幵始时间、结束时间,用空

2、格隔幵。如:data.txt18169^227

3、>I有18行1835J二、实验平台1、编程环境C-Free5.02、运行环境Win732位三、核心代码全排列核心代码:voidswap(char*a,char*b){chartemp;temp=*a;*a=*b;*b=temp;}//数组A[]后k个数排列算法,如果全排可去掉k参数voidperm(charA[],intk,intn){inti;if(k==1){for(i=0;i

4、n-k]);perm(A,k-l,n);swap(A[i],A[n-k]);}}会场问题核心代码.•while(scanf(’’%dn,&n)!=EOF)HuiYi*hy=newHuiYi[n+1];int*A=newint[n+1];//A储存会议室最后一个会议结束时间intk,i,j;HuiYitemp;for(i=l;i<=n;i++)scanf(’’%d%d%dH,&hy[i].number,&hy[i].startTime,&hy[i].endTime)}for(i=1;i<=n;i++)for(intj=i+l;j<=n;j++)if(hy[i].endT

5、ime>hy[j].endTime){temp=hy[i];hy[i]=hy[j];hy[j]=temp;}for(i=l;i<=n;i++){A[i]=0;hy[i].flag=0;}k=1;for(i=1;i<=n;i++){for(j=1;j<=k;j++)if(hy[i].startTime>=Afj])A[j]=hy[i].endTime;hy[i].flag=j;break;}if(j〉k){A[++k]=hy[i].endTime;"j--;hy[i].flag=j;}实验结果截全排列截图:32}33}34int35{363738394041424344

6、454636}会场问题截图:■datal.txt2014/11/217:33义本义档瞳huichang.cpp2014/11/217:44CPP文件

7、datal.txt-记事本文件(F)賴(E)赋(O)M(V)帮助(H)6168223346457568689//j——;•C:UsersAdministratorDesktop算法作业会场lhukhang.exe'689场2的会议是457场3的会议是568口果是一个会场,则选择的是23466889h青按任意键继续.•-实验二快速排序、最长公共子序列一、实验要求主要实验内容及要求:排序问题:1.要求按快速排序原

8、理实现非减序排序;2.待排数据可键盘输入,也可读文木文件输入;3.键盘输入吋待排数据个数由输入确定,文件输入吋数据格式如K所示;4.排序时不能移动数据;5.要求妞示排序结果。输入数据的文本文件格式:第1行为数据个数,第2行幵始每行一个数据。如:data.txt1419.430.43j有14卜12.721.9最长公共子序列:1.要求按动态规划法原理求解最长公共子序列M题;2.两个序列数据可读文本文件输入(数据格式如下所示),也可通过键盘输入;3.要求显示结果。输入数据的文本文件格式:第1行为X序列,第2行为Y序列,两个序列允许空串出现。如:data.txtytyu5u3

9、e7uyudgeuitdyruftguryg7t857t57gy7二、实验平台1、编程环境Eclipsejava环境2、运行环境Win732位三、核心代码快速排序核心代码://W个数互相交换publicstaticvoidswap(int[]Rl,inta,intb){inttemp;temp=Rl[a];Rl[a]=Rl[b];Rl[b]=temp;}inthigh){//对要排序的数组进行划分publicstaticintPartition(int[]R2_,intlow,inti=low,j=high,pivot=R2[low];while(i

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。