ImageVerifierCode 换一换
格式:DOCX , 页数:11 ,大小:164.94KB ,
资源ID:9796750      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9796750.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(实验九各种排序算法性能比较.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

实验九各种排序算法性能比较.docx

1、实验九各种排序算法性能比较 课程名称: 数据结构课程设计课程设计题目: 9、各种排序算法性能比较姓 名:费富增院系: 计算机学院专 业:计算机科学与技术年 级:2012学 号:E01214108指导教师:王爱平2014年10月17日目 录 1课程的目的12 需求分析13 课程设计报告内容13.1概要设计13.2详细设计23.3调试分析93.4用户手册93.5测试结果 93.6程序清单 94 小结 95 参考文献 91.课程设计的目的(1) 熟练使用 C 语言编写程序,解决实际问题;(2) 了解并掌握数据结构与算法的设计方法,具备初步的独立分析和设计能力;(3) 初步掌握软件开发过程的问题分析、

2、系统设计、程序编码、测试等基本方法和技能;(4) 提高综合运用所学的理论知识和方法独立分析和解决问题的能力;2.需求分析(1)使用数组来存放产生的2000个随机数(2)编写统计程序运行时间的函数(3)编写快速排序、冒泡排序、插入排序、梳排序四种排序算法的函数 (4 ) 编写主函数,控制程序运行3文件串的加密的设计3.1概要设计1.函数(1)使用四种排序算法:插入排序、冒泡排序、快速排序、梳排序(2)使用clock()函数来统计每种排序方法的计算时间。流程图:3.2详细设计源程序:#include #include #include #define MAX 40000void insertSor

3、t(int a, int len)/插入排序 int i, j, temp; for(i = 1; i = 0; j -) if(aj temp) aj + 1 = aj; else break; aj + 1 = temp; void Bubble(int a,int len)/冒泡排序 int length=len; int i=0; int j=0; for(i=0;ilen;i+) for(j=0;jaj+1) int temp=aj; aj=aj+1; aj+1=temp; length-; j=0; int partions(int l,int low,int high)/快速排序

4、 int prvotkey=llow; l0=llow; while (lowhigh) while (low=prvotkey) -high; llow=lhigh; while (lowhigh&llow=prvotkey) +low; lhigh=llow; llow=l0; return low;void qsort(int l,int low,int high) int prvotloc; if(low 1) | swapped) if (gap 1) gap = gap / shrink_factor; swapped = 0; i = 0; while (gap + i) 0)

5、swap = ai; ai = ai + gap; ai + gap = swap; swapped = 1; +i; int main() printf(正在进行排序,请稍等:n); printf(.n); int numberMAX = 0; int number1MAX = 0; int number2MAX = 0; int number3MAX = 0; int number4MAX = 0; int i; srand(unsigned) time(NULL); /*播种子*/ for(i = 0; i MAX; i+) numberi = rand() % 20000; /*产生1

6、01以内的随机整数*/ number1i=number2i=number3i=number4i=numberi; while(numberi=0) numberi = rand() % 20000; number1i=number2i=number3i=number4i=numberi; clock_t begin1, end1; /快速排序并计算时间 double cost1; begin1 = clock(); quicksort(number1,MAX); end1 = clock(); cost1 = (double)(end1 - begin1) / CLOCKS_PER_SEC;

7、clock_t begin2, end2; /冒泡排序并计算时间 double cost2; begin2 = clock(); Bubble(number2,MAX); end2 = clock(); cost2 = (double)(end2 - begin2) / CLOCKS_PER_SEC; clock_t begin3, end3; /插入排序并计算时间 double cost3; begin3 = clock(); insertSort(number3,MAX); end3 = clock(); cost3 = (double)(end3 - begin3) / CLOCKS_P

8、ER_SEC; clock_t begin4, end4; /梳排序并计算时间 double cost4; begin4 = clock(); combsort(number4,MAX); end4 = clock(); cost4 = (double)(end4 - begin4) / CLOCKS_PER_SEC for(int j=0;jMAX;j+) printf(%d , number1j); printf(n); printf(你好,排序完成!n); printf(快速排序耗时:%lf 秒n, cost1); printf(冒泡排序耗时:%lf 秒n, cost2); printf

9、(插入排序耗时:%lf 秒n, cost3); printf(梳 排 序耗时:%lf 秒n, cost4); return 0;3.3调试分析由于这个程序中冒泡排序运行时间较长,在一开始运行时可能与以往不一样,但这是正常的。总体起来,该程序比较简单,他们的clock函数都大致一样。冒泡排序、快速排序和插入排序以前学过,主要时需要编写梳排序。该程序通过最后的四者时间比较,可以得出梳排序和快速排序较快。3.4用户手册(略)3.5测试结果(略)4总结通过这次课程设计我主要熟悉了快速排序、冒泡排序、插入排序、梳排序四种排序算法的具体实现方法。我认识到了排序功能在解决实际问题中的作用,使我对数据结构的学习有了更进一步的理解。 在完成本次课程设计中,我发现很多理论性知识在实际使用时与单纯的理论还是有所差别的,今后我会更加注重培养自己的实践动手能力。5、程序清单:(见附录)6、参考文献1 严蔚敏,吴伟民 编著. 数据结构(C 语言版)-北京: 清华大学出版社,2007.2 严蔚敏,吴伟民 米 宁 编著. 数据结构题集(C 语言版)-北京: 清华大学出版社, 2007.3网上搜索相关程序作为参考7、程序运行结果运行截图

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1