问题定义基本排序方法归并排序快速排序堆排序希尔排序
问题定义
基本排序方法
归并排序、快速排序、堆排序、希
尔排序
基数排序
内部排序方法的比较
本章小结
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
您可能关注的文档
最近下载
- 2025年陕西省中考数学真题试卷含答案.pdf VIP
- 一年级英语寒假作业.pdf VIP
- 微生物技术 走进微生物世界 微生物技术—走进微生物世界.pptx VIP
- 《植物组织培养》课程教学大纲(本科).pdf VIP
- 2025年重庆市公务员省考《行测》联考真题(含答案).pdf VIP
- 2026年一年级英语【寒假作业】.docx VIP
- 抽象函数的单调性.doc VIP
- 2025年重庆市公务员考试行测真题及答案详解(最新).docx VIP
- 2025年特许金融分析师私募股权投资中的公司尽职调查专题试卷及解析.pdf VIP
- 2025年金融风险管理师久期与债券流动性风险的交互影响专题试卷及解析.pdf VIP
原创力文档

文档评论(0)