数据结构与算法基础(八)排序
一、排序的基本概念
1.1 概述
1.2 排序方法分类
存储介质
比较器
主要操作
辅助空间
稳定性
自然性
1.3 存储结构:顺序表
二、插入排序
2.1 直接插入排序
采用顺序查找
2.1.1 算法
i: 要插入位置的下标
j:有序的最后一个
2.1.2 性能
最好
最坏
平均
时间复杂结论
2.2 折半插入排序
2.2.1 算法
2.2.2 分析
比较次数
移动次数
2.3 希尔排序
2.3.1 思想 特点
2.3.2 算法
2.3.3 分析
三、交换排序
3.1 冒泡排序
思想
算法
改进
效率
3.2 快速排序
思想
递归
缺点:太占用空间
0号元素存界点
low 指向第一个元素
high 指向最后一个元素
此时high和界点比较,high<49 往前搬
high–
空出来的位置low 从前面找大的
算法
分析
递归:栈 的支 持
四、选择排序
4.1 简单选择排序
基本思想
算法
分析
空间复杂度:需要一个空间O(1)
4.2 堆排序
4.2.1 判断、调整堆
4.2.2 堆的筛选算法
4.2.3 堆的建立
最后一个非叶子结点:n/2开始向前调整
4.2.4 算法及分析
五、归并排序
即树的高度
5.1 分析
六、基数排序
k有几个关键字
n分配(扔出去的)
m收集(收回来的)
各种排序