欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

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

    • 资源ID:3136964       资源大小:18.08KB        全文页数:9页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    数据结构课程设计排序算法时间性能的分析.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 最后,小编希望文章对您有所帮助,如果有不周到的地方请多谅解,更多相关的文章正在创作中,希望您定期关注。谢谢支持!


    注意事项

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

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

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

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


    收起
    展开