选择排序:简单选择排序、堆排序
2017-11-16 15:07
316 查看
简单选择排序
通过n(n-1)/2次比较,每次找出最小值与第 i 个记录交换。堆
把堆看作一个完全二叉树父节点比子节点大叫大顶堆
父节点比子节点小叫小顶堆
堆排序
原始数列对应的完全二叉数将序列调整为堆(建立初始堆)
从最后一个非终端节点开始,即第n/2(向下取整)个元素开始
调整时把父节点与左右子节点进行比较。
若第一次交换后父节点变为子节点,还是没有变为堆–父节点大于(小于)子节点,则子节点与子节点的子节点再次比较交换。
插入节点:把节点插入到序列的最右边(最后一个结点+1的位置),在进行调整(筛选)
输出节点:将根节点与最后一个二叉树节点进行交换,再对堆进行调整,完全二叉树长度减 1 。
相关文章推荐
- 选择排序——简单选择排序和堆排序
- Java排序算法总结之(三)——选择排序(简单选择排序、堆排序)
- 选择排序:简单选择排序、堆排序
- 选择排序——简单选择排序和堆排序,C++代码实现
- 选择排序(简单选择排序 and 堆排序)
- 选择排序(简单选择排序--改进的简单选择排序--堆排序)
- 选择排序(直接选择、堆排序)
- 选择排序(直接选择排序,堆排序)
- 选择排序:堆排序
- 七大内部排序算法总结(插入排序、希尔排序、冒泡排序、简单选择排序、快速排序、归并排序、堆排序)
- 排序算法(四)、选择排序 —— 简单选择排序 和 堆排序
- 选择排序——一般选择排序,堆排序
- 选择排序(直接选择排序、堆排序)
- 选择排序-简单选择排序
- 直接插入排序,冒泡排序,快速排序,简单选择排序,堆排序,2-路归并排序,文件存储
- 选择排序--选择排序和堆排序
- 选择排序-简单选择排序
- java数据结构之插入排序(选择排序(直接选择排序、堆排序))
- 排序算法(二)选择类排序:简单选择排序,堆排序,锦标赛排序
- 简单选择排序和堆排序