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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

本文(数据结构课程设计排序算法时间性能的分析.docx)为本站会员(b****1)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

数据结构课程设计排序算法时间性能的分析.docx

1、数据结构课程设计排序算法时间性能的分析数据结构课程设计排序算法时间性能的分析以下是为大家整理的数据结构课程设计排序算法时间性能的分析的相关范文,本文关键词为数据结构,课程,设计,排序,算法,时间,性能,分析,数据结构,您可以从右上方搜索框检索更多相关文章,如果您觉得有用,请继续关注我们并推荐给您的好友,您可以在教育文库中查看更多范文。数据结构课程设计报告目录1需求分析.11.1问题描述.11.2设计内容.12概要设计.22.1原始数据.22.2程序的流程.22.3总体设计图.33详细设计和编码.43.1算法基本思想.43.2算法描述.43.3算法设计.53.4算法时间分析.84测试结果.95小

2、结.9参考文献.10附录:程序源代码.10数据结构课程设计报告1需求分析1.1问题描述(1)输入的形式和输入值的范围:本程序要求实现各种算法的时间性能的比较,由于需要比较的数目较大,不能手动输入,于是采用系统生成随机数。用户输入随机数的个数n,然后调用随机事件函数产生n个随机数,对这些随机数进行排序。于是数据为整数。(2)输出的形式:输出在各种数目的随机数下,各种排序算法所用的时较次数。(3)程序所能达到的功能:该程序可以根据用户的输入而产生相应的随机数,然后对随机数进行各种排序,根据排序进行时间和次数的比较。(4)测试数据。1.2设计内容对各种排序方法(快速排序、堆排序、希尔排序、冒泡排序、

3、归并排序)的时间性能进行比较。(1)设计并实现上述各种排序算法;(2)在排序中实现比较时间性能;(3)在输入中分别调用上述排序算法,并比较时间性能。1数据结构课程设计报告2概要设计2.1原始数据1.抽象数据类型ADTList数据对象Dai|aielemset,i=1,2,.,n,n0数据关系R1|ai-1,aiD,i=2,.,n基本操作virtualvoidclear()=0;boolinsert(constelemboolappend(constelemlboolremove(elemvoidsetstart()=0;voidsetend()=0;voidprev()=0;voidnext(

4、)=0;intleftLength()const=0;intrightLength()const=0;boolsetpos(intpos)=0;boolgetValue(elemvoidprint()const=0;2.2程序的流程(1)输入模块:输入要排序的数的数量n。(2)处理模块:系统产生n个随机数,对随机数进行排序。(3)输出模块:将排序的结果输出。2数据结构课程设计报告2.3总体设计图冒泡排序快速排序主程序堆排序希尔排序归并排序冒泡排序输出整理排序数据,作出分析。快速排序主程序堆排序希尔排序输入数据归并排序图13数据结构课程设计报告3详细设计和编码3.1算法基本思想1.随机数的产生:

5、利用srand()产生随机数。2.快速排序:选定一记录R,将所有其他记录关键字K与记录R的关键字K比较,若K?K则将记录换至R之前,若K?K则将记录换至R之后,继续对R前后两部分记录进行快速排序,直至排序范围为1。3.希尔排序:将序列分割成若干子序列分别进行直接插入排序,待序列记录基本有序时再对整体进行一次直接插入排序。4.冒泡排序:比较并交换相邻的元素对,直到所有元素都被放到正确的地方为止。5.归并排序:将两个或者多个有序表归并成一个有序表。6.堆排序:首先将数组转化为一个满足堆定义的序列,然后将堆顶的最大元素取出,再将剩下的数排成堆,再取堆顶数值,?。如此下去,直到堆为空。到最后结束时,就

6、排出了一个由小到大排列的数组。3.2算法描述(1)快速排序是对起泡排序的一种改进。它的基本思想是:通过一趟排序将待排记录分别分割成独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字大小,则可分别对这两部分记录继续进行排序,以达到整个序列有序。(2)堆排序是指利用堆这种数据结构所设计的一种排序算法。堆是一个近似完全二叉树的结构,并同时满足堆性质:即子结点的键值或索引总是小于(或大于)它的父结点。只需一记录大小的辅助空间,每个待排序的记录仅占用一个存储空间。它的思想是:先是对堆做比较,左子数小于本数,右子数大于本数,然后不停比较、交换,最后达到整个数组的排序。4以下是为大家整理的数据结构

7、课程设计排序算法时间性能的分析(2)的相关范文,本文关键词为数据结构,课程,设计,排序,算法,时间,性能,分析,数据结构,您可以从右上方搜索框检索更多相关文章,如果您觉得有用,请继续关注我们并推荐给您的好友,您可以在教育文库中查看更多范文。以下是为大家整理的数据结构课程设计排序算法时间性能的分析(3)的相关范文,本文关键词为数据结构,课程,设计,排序,算法,时间,性能,分析,数据结构,您可以从右上方搜索框检索更多相关文章,如果您觉得有用,请继续关注我们并推荐给您的好友,您可以在教育文库中查看更多范文。数据结构课程设计报告参考文献1王昆仑,李红等编著.数据结构与算法.北京:中国铁道出版社,20X

8、X.2苏仕华等编著.数据结构课程设计.北京:机械工业出版社,20XX.3苏仕华编著.数据结构与算法解析.合肥:中国科学技术大学出版社,20XX.4郭嵩山等著.国际大学生程序设计竞赛例题解.北京:电子工业出版社,20XX.5刘大有,唐海鹰等编著.数据结构.北京:高等教育出版社,20XX.6徐孝凯编著.数据结构实用教程.北京:清华大学出版社,1999.7严蔚敏,陈文博编著.数据结构及算法教程.北京:清华大学出版社,20XX.8刘振安,刘燕君等编著.c程序设计课程设计.北京:机械出版社,20XX.9胡学钢.数据结构与算法设计指导.北京:清华大学出版社,1999.附录:程序源代码/*cout:输出ci

9、n:输入endl:换行system(:屏幕暂停(去掉这句屏幕瞬间自动关闭)*/#include#include#include#includeusingnamespacestd;/命名空间,使cout/cin?起作用constintmaxsize=9999;intnum=0;/定义全局变量,为每一趟的输出做准备intx=0;templateclasssortlist10数据结构课程设计报告private:intsortnum;intcurrentsize;/数据表中数据元素的个数public:type*arr;/存储数据元素的向量(排序表)sortlist():currentsize(0)ar

10、r=newtypemaxsize;/构造函数sortlist(intn)arr=newtypemaxsize;currentsize=n;voidinsert(inti,typex)arri=x;sortlist()deletearr;/析构函数voidswap(typex=y;y=temp;voidbubblesort();/冒泡排序voidselectsort();/快速排序voidheapsort();/堆排序voidmergesort(sortlist/归并排序voidshellsort();/希尔排序voidfilterdown(constintstart);/建立最大堆voidme

11、rgepass(sortlist/一趟归并voidmerge(sortlist/两路归并算法;template/冒泡排序oKvoidsortlist:bubblesort()11数据结构课程设计报告sortnum=0;LARge_InTegeRFreg;LARge_InTegeRcount1,count2;QueryperformanceFrequency(Queryperformancecounter(/获取时间count1inti=1;doubled;intfinish=0;/0表示还没有排好序while(iQueryperformancecounter(/获取时间count2d=(dou

12、ble)(count2.Quadpart-count1.Quadpart)/(double)Freg.Quadpartfor(intj=0;jif(arrjarrj+1)/逆序swap(arrj,arrj+1);/相邻元素交换位置finish=0;sortnum+;/排序结束标志置为,表示本趟发生了交换,说明还没有排好序i+;*1000.0;coutcouttemplate/快速排序oKvoidsortlist:selectsort()sortnum=0;12数据结构课程设计报告doubled;LARge_InTegeRFreg;LARge_InTegeRcount1,count2;Query

13、performanceFrequency(Queryperformancecounter(/获取时间count1inti=0;intfinish=0;/0表示还没有排好序while(iQueryperformancecounter(/获取时间count2d=(double)(count2.Quadpart-count1.Quadpart)/(double)Freg.Quadpartfor(intj=i+1;jarrj)i+;swap(arri,arrj);finish=0;sortnum+;*1000.0;template/建立最大堆voidsortlist:filterdown(consti

14、ntstart)/向下调整使从start开始到currentsize-1为止的子表成为最大堆cout13数据结构课程设计报告inti=start,j=2*i+1;/j为i的左孩子inttablesize=currentsize;typetemp=arri;while(jif(jj+;/在两个孩子中选关键字较大者if(temp=arrj)break;elsearri=arrj;sortnum+;i=j;j=2*j+1;sortnum+;template/堆排序oKvoidsortlist:heapsort()sortnum=0;doubled;LARge_InTegeRFreg;LARge_In

15、TegeRcount1,count2;QueryperformanceFrequency(Queryperformancecounter(/获取时间count1inttablesize=currentsize,i;for(i=(currentsize-2)/2;i=0;i-)14以下是为大家整理的数据结构课程设计排序算法时间性能的分析(4)的相关范文,本文关键词为数据结构,课程,设计,排序,算法,时间,性能,分析,数据结构,您可以从右上方搜索框检索更多相关文章,如果您觉得有用,请继续关注我们并推荐给您的好友,您可以在教育文库中查看更多范文。以下是为大家整理的数据结构课程设计排序算法时间性能的分析(5)的相关范文,本文关键词为数据结构,课程,设计,排序,算法,时间,性能,分析,数据结构,您可以从右上方搜索框检索更多相关文章,如果您觉得有用,请继续关注我们并推荐给您的好友,您可以在教育文库中查看更多范文。数据结构课程设计报告for(i=0;inumber=100+rand()%(10000-100+1);table.shellsort();/希尔排序table.insert(i,number);coutsystem(return0;20 最后,小编希望文章对您有所帮助,如果有不周到的地方请多谅解,更多相关的文章正在创作中,希望您定期关注。谢谢支持!

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2