- 1、本文档共17页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
排序定义——将一个数据元素(或记录)的任意序列,重新排列成一个按关键字有序的序
列叫~
排序分类
按待排序记录所在位置
排序:待排序记录存放在内存
外部排序:排序过程中需对外存进行的排序
按排序依据原则
排序:直接排序、折半排序、希尔排序
交换排序:冒泡排序、快速排序
选择排序:简单选择排序、堆排序
归并排序:2-路归并排序
基数排序
按排序所需工作量
简单的排序方法:T(n)=O(n²)
先进的排序方法:T(n)=O(logn)
基数排序:T(n)=O(d.n)
排序基本操作
比较两个关键字大小
将记录从一个位置移动到另一个位置
选择排序、快速排序、希尔排序、堆排序不是稳定的排序算法,
冒泡排序、排序、归并排序和基数排序是稳定的排序算法。
冒泡法:
这是最原始,也是众所周知的最慢的算法了。他的名字的由来因为它
的工作看来象是冒泡:复杂度为O(n*n)。当数据为正序,将不会有
交换。复杂度为O(0)。
直接排序:O(n*n)
选择排序:O(n*n)
快速排序:平均时间复杂度log2(n)*n,所有排序方法中最高好
的,大多数情况下总是最好的。
归并排序:log2(n)*n
堆排序:log2(n)*n
希尔排序:算法的复杂度为n的1.2次幂
各种排序优缺点
1快速排序(QuickSort)
快速排序是一个就地排序,分而治之,大规模递归的算法。从本质上
来说,它是归并排序的就地版本。快速排序可以由下面四步组成。
(1)如果不多于1个数据,直接返回。
(2)一般选择序列最左边的值作为支点数据。
(3)将序列分成2部分,一部分都大于支点数据,另外一部分都小
于支点数据。
(4)对两边利用递归排序数列。
快速排序比大部分排序算法都要快。尽管我们可以在某些特殊的情况
下写出比快速排序快的算法,但是就通常情况而言,没有比它更快的
了。快速排序是递归的,对于内存非常有限的机器来说,它不是一个
好的选择。
2归并排序(MergeSort)
归并排序先分解要排序的序列,从1分成2,2分成4,依次分解,当
分解到只有1个一组的时候,就可以排序这些分组,然后依次合并回
原来的序列中,这样就可以排序所有数据。合并排序比堆排序稍微快
一点,但是需要比堆排序多一倍的内存空间,因为它需要一个额外的
数组。
3堆排序(HeapSort)
堆排序适合于数据量非常大的场合(百万数据)。
堆排序不需要大量的递归或者的暂存数组。这对于数据量非常巨
大的序列是合适的。比如超过数百万条记录,因为快速排序,归并排
序都使用递归来设计算法,在数据量非常大的时候,可能会发生堆栈
溢出错误。
堆排序会将所有的数据建成一个堆,最大的数据在堆顶,然后将堆顶
数据和序列的最后一个数据交换。接下来再次重建堆,交换数据,依
次下去,就可以排序所有的数据。
4Shell排序(ShellSort)
Shell排序通过将数据分成不同的组,先对每一组进行排序,然后再对
所有的元素进行一次排序,以减少数据交换和移动的次数。平均
效率是O(nlogn)。其中分组的合理性会对算法产生重要的影响。现在
多用D.E.Knuth的分组方法。
Shell排序比冒泡排序快5倍,比排序大致快2倍。Shell排序比
起QuickSort,MergeSort,HeapSort慢很多。但是它相对比较简
单,它适合于数据量在5000以下并且速度并不是特别重要的场合。它
对于数据量较小的数列重复排序是非常好的。
5排序(InsertSort)
排序通过把序列中的值一个已经排序好的序列中,直到该序
列的结束。排序
您可能关注的文档
- 会话分类trevor hughes20 in 2013 the top privacy issues watchstudio 20值得隐私问题.pdf
- 一单元会计核算软件操作要求习题kjdsh jy0101.pdf
- 模具制造商专用高精度立式加工中心电子型录nvd4000 dcg.pdf
- 文案楼书假湾楼.pdf
- 普通高等学校全国统一考试浙江卷自选模块.pdf
- 案例淘金热作者peggy bresnick kendlerlr 1g rush of 1849g.pdf
- 地理水平试卷2geography sl paper 2.pdf
- 文稿分析介绍artsp 16au ba.pdf
- 超越学校教育1gogotalk主修青少级.pdf
- 1g1g在firadisk基础上用primo驱动制作克隆附体ramxp动态扩容内存系统.pdf
最近下载
- 读书分享课件《美丽新世界》-奥尔德斯·赫胥黎.pptx
- 2024年秋新外研版英语三年级上册课件 Unit 5 第3课时(Speed up).pptx
- (精华版)国家开放大学电大《商法》机考第五套真题题库及答案.pdf VIP
- 全国劳模大国工匠潘从明的事迹党课课件.pptx VIP
- 纪检监察科技信息中心(办案点)建设工程项目可行性研究报告.doc VIP
- 人教版六年级数学上册第五单元圆的面积专项卷附答案 .pdf
- 13套题,必过,阿坝州拟任科级领导干部任职资格政治理论考试题汇总.pdf
- 银行重大市场风险应急管理办法(试行)模版.pdf VIP
- 2022年高考真题——语文(北京卷) .pdf VIP
- 养生养老行业新媒体营销策划方案.pptx
文档评论(0)