- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
问题定义 基本排序方法 归并排序、快速排序、堆排序、希尔排序 ...
问题定义
基本排序方法
归并排序、快速排序、堆排序、希
尔排序
基数排序
内部排序方法的比较
本章小结
9.1问题定义:
排序(sorting)
排序的功能是将一个数据元素(或记录)
的任意序列重新排列成一个按关键字有
序的序列。
升序:关键字从小到大
降序:关键字从大到小
2
排序的稳定性
若序列中关键字值相等的节点经过某种
排序方法进行排序之后,仍能保持它们
在排序前的相对顺序,则称这种排序方
法是稳定的;否则,称这种排序方法是
不稳定的。
稳定性例
待排序列: 34 12 34’ 08 96
稳定: 08 12 34 34’ 96
不稳定: 08 12 34’ 34 96
3
排序的分类——内排、外排
根据内存使用情况:
内部排序:数据存储调整均在内存中进行
外部排序:大部分节点在外存中,借助内存进
行调整
4
排序的分类—— “比较-交换”、
“分配”
根据排序实现手段:
基于“比较-交换”的排序——通过对关键字的
比较,交换关键字在序列中的位置
插入排序、冒泡排序、选择排序、快速排序、归
并排序、希尔排序、堆排序
基于“分配”的排序
桶排序、基数排序
5
排序的分类——基本、高级排序
根据实现的难易程度:
基本排序:插入、冒泡、选择排序
高级排序:快速排序、归并排序、堆排序
6
9.2.1插入排序(insertion sort)
7
9.2.1插入排序(insertion sort)
基本思想:将一个记录插入到已排好顺序
的序列中,形成一个新的、记录数增1的
有序序列。
假设a ,a ,…,a 已排序(a a …a ) ,对
0 1 i‐1 0 1 i‐1
于t=ai ,从大到小进行比较,比t大的节
点右移一位,直到发现某个值不大于t 。
最后令aj+1=t 。
8
插入排序过程
D A T A S T R U C T U R E
A D T A S T R U C T U R E
A D T A S T R U C T U R E
A A D T S T R U C T U R E
A A D S T T R U C T U R E
A A D S T T R U C T U R E
A A D R S T T U C T U R E
A A D R S T T U C T U R E
A A C
文档评论(0)