标签:学习 开始 数据 记录 折半查找 技术 堆排序 基于 直接插入排序
一、本章知识思维导图
二、第八章知识小结
1. 插入排序
(1) 直接插入排序
对于待排序列中的元素,在已排序列中顺序查找插入位置,将待排元素插入并移动。
(2)折半插入排序
基于直接插入排序,查找插入位置使用折半查找。
(3)希尔排序
将间隔步长d1的两个元素分为一组,组内进行直接插入排序;第二趟取步长d2(<d1),重复以上分组并排序,依此类推。
2. 交换排序
(1)冒泡排序
两两比较相邻记录,若发生逆序,则进行交换。
(2)快速排序
选择第一个记录为枢轴,设指针low, high分别指向表下界及上界;从最右侧向左搜索,第一个小于枢轴的关键字移到low处;当low<high,若high大于枢轴,则向左移动high,反之则将high所指移到low所指;从最左侧搜索,第一个大于枢轴的记录和枢轴交换,low<high时,low所指小于等于枢轴,则向右移动low,反之则将low与枢轴交换;重复前两步直至low=high。
3.选择排序
(1)简单选择排序
待排序列中顺序查找最小记录r[k],交换r[1]和r[k]。
(2)堆排序
得到堆,调整堆,得到最大值,调整堆,得到最大值……如此类推得到序列(大根堆为例,小根堆同理)
调整:从最后一个非叶子结点开始直到根节点,检查父结点是否大于子结点,若子结点大则交换两个结点;上到下检查调整。
标签:学习 开始 数据 记录 折半查找 技术 堆排序 基于 直接插入排序
原文地址:https://www.cnblogs.com/cbs-2397812053/p/13289231.html