- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第第十十章章 内内部部排排序序
基本概念
插入排序
快速排序
选择排序
归并排序
基数排序
10.1 基本概念
设含有n个记录的文件{R1,R2,...,Rn},其相应的关
键字为{ 1, 2,..., n},将记录按关键字值非递减(或
非递增)顺序排列的过程,称为排序。
对所有的 i= j (i≠j),若排序前Ri领先于Rj,排序后
Ri仍领先于Rj,则称该排序方法是稳定的,反之,称
为不稳定 的。
稳定性是对序列中的两个相同的关键字在初始序
列和最终有序序列中相对位置 (即领先关系)是否
变化。
10.1 基本概念
内部排序:待排序文件的全部记录存放在内存进
行的排序,称为内部排序。
外部排序:排序过 中需要进行内外存数据交
换的排序,称为外部排序。
10.1 基本概念
内排序分类
按排序过程依据的原则分为:插入排序
交换排序
选择排序
归并排序
数排序
按排序过程所需的工作量分:简单排序 O (n2)
先进排序 O (nlogn)
基数排序 O (d.n)
10.2 插入排序
一. 直接插入排序 (最简单的排序方法)
⒈基本思想:依次将每个 排序的记录插入到一个有序
子文件的合适位置(有序子文件记录数增1)
例如:已有 排序文件为:38,65,49,76,97
首先将文件的第一个记录,视为有序文件,然后从第
二个记录开始,直到最后一个记录,依次将他们插
入到有序文件的合适位置。
10.2 插入排序
⒉直接插入排序算法
PROC strainsort(VAR r:fil typ );
FOR i:=2 TO n DO
[r[0]:=r[i];
j:=i-1; {r[1]~r[i-1]为有序子文件}
WHILE r[0].k y<r[j].k y DO
[r[j+1]:=r[j];j:=j-1 ]; {确定插入位置并移动}
r[j+1]:=r[0]
]
ENDP; {strainsort}
10.2 插入排序
⒊算法分析
⑴ 空间上,只需i,j两个整型变量和一个 录的辅助空
间r[0], r[0]作为 “监视哨”,控制待插入元素相对于有
序子文件为最小时WHILE循环的结束,同时也用于暂
存待插入元素。
⑵ 时间上,只包含比较关键字和移动 录两种操作。
①比较次数 :
1/. 当待初始文件按关键字递增有序(正序)时:
a.对每个 录只进行一次比较,整个排序过程共
n
进行了∑1=n-1次比较(最少);
i=2
b.每个 录都要进行r[i]移到r[0]和r[0]移到
文档评论(0)