- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
算法分析之课程设计实验报告
PAGE 3华中科技大学文华学院《算法分析与设计》课程设计报告专业:计算机科学与技术班级:2班姓名:肖红红学号:070104021117指导老师:秦明设计时间:5周-12周目录实验1 用分治法进行归并分类1.1归并分类思想……………………………………. …31.2归并分类流程图……………………………………31.3归并分类源程序…………………………………….41.4归并分类结果截图………………………………….5实验2 用分治法进行快速分类2.1快速分类思想及代码………………………………..62.2快速分类流程图…………………………72.3快速分类源程序…………………………82.4快速分类结果截图…………………………………8实验3 贪心算法求背包问题3.1 背包问题思想…………………………….. ………93.2 背包问题流程图…………………………93.3背包问题源程序…………………………103.3 背包问题结果截图………………………………..11实验4 贪心算法求单源点最短路径 4.1单源点最短路径思想………………………………124.2单源点最短路径流程图…………………124.3单源点最短路径源程序……………………………13 4.4单源点最短路径结果截图…………………………14心得体会………………………………………………………15实验一:《归并排序》1.1归并排序设计思想:归并排序采用的是分治策略,主要分为3个过程。第一, 分解: 把待排序的 n 个元素的序列分解成两个子序列, 每个子序列包括 n/2 个元素。第二, 治理: 对每个子序列分别调用归并排序MergeSort, 进行递归操作。第三, 合并: 将已分类的两个序列合并成一个含有n个元素的分好累的序列,并生成最后的排序结果。1.2归并排序流程图如下:开始,输入数组A(1:n)开始,输入数组A(1:n)将A分为2个集合A(1)…A(n/2)和A(n/2+1)…A(n)注:A(n/2)和A(n)均取下限值分别对两个集合单独分类并按非降次序列分别归并A(1)…A(n/是否归并完全输出最后序列,结束 否是1.3源程序如下:#includestdio.h#define LENGTH 50int a[LENGTH],b[LENGTH]; 设置数组void Mergr(int low,int mid,int high) //使用辅助数组归并两个已经分类的集合{ int h,j,k,i; h=low; j=mid+1; k=low; while(h=midj=high) //当2个集合都没有取尽时 { if(a[h]=a[j]) { b[k]=a[h]; h++; } else { b[k]=a[j]; j++; } k++; } if(hmid) //处理剩余的元素 { for(i=j;i=high;i++) { b[k]=a[i]; k++; } } else { for(i=h;i=mid;i++) { b[k]=a[i]; k++; } } for(i=low;i=high;i++) //将已经归并的集合复制到数组A { a[i]=b[i]; }}void Mergesort(int low,int high) //归并分类{ int mid; if(lowhigh) { mid=(int)((high+low)/2); Mergesort(low,mid); //将一个子集合分类 Mergesort(mid+1,high); //将另一个子集合分类 Mergr(low,mid,high); //归并2个已经分类的集合 }}void main(){ int i,length; printf(Please input the total numbers:\n); scanf(%d,length); printf( input your members:\n); for(i=0;ilength;i++){ scanf(%d,a[i]); } Mergesort(0,length-1); printf(The new Mergesort numb
您可能关注的文档
- 第十五章 焊接安全与卫生.doc
- 第十三课_城市的复兴.ppt
- 第十五章不等式与不等式组小结与单元小测.doc
- 第十五届客户服务节活动方案(乐山订).ppt
- 第十五章电功率1.doc
- 第十一章 海洋化学调查.ppt
- 第十八章 洋务运动与各方面的关系——兼论有关洋务运动一些理论问题.doc
- 第十六条 物资机械部质量职责.doc
- 第十六章 上诉审程序.doc
- 第十五章有机含氮化合物(修改).ppt
- 主题课程整理大班上.doc
- 2026人教版小学语文三年级上册期末综合试卷3套(打印版含答案解析).docx
- 2026人教版小学语文四年级下册期末综合试卷3套(打印版含答案解析).docx
- 2026人教版小学二年级上册数学期末综合试卷精选3套(含答案解析).docx
- 2026人教版小学语文四年级上册期末综合试卷3套(含答案解析).docx
- 2026人教版小学二年级下册数学期末综合试卷3套(打印版含答案解析).docx
- 2026年地理信息行业年终总结汇报PPT.pptx
- 板块四第二十一单元封建时代的欧洲和亚洲 中考历史一轮复习.pptx
- 中考历史一轮复习:板块四第二十单元古代亚、非、欧文明+课件.pptx
- 第二次工业革命和近代科学文化中考历史一轮复习.pptx
原创力文档


文档评论(0)