摘要: 堆排序为常见排序算法之一,为不稳定排序,且在排序过程中需要额外的空间 概念 创建一个大顶堆,然后将根元素与最后一个元素交换位置(该元素最终位置),堆长度减一,然后调整树再次成为大顶堆,然后依次减少堆长度直到为1 构造大顶堆 小顶堆 在使用堆排序时,需要构造大顶堆,小顶堆,构造大顶堆代码如下: voi 阅读全文
posted @ 2021-01-06 15:44 adfas 阅读(68) 评论(0) 推荐(0) 编辑
摘要: 参考:https://www.cnblogs.com/malw/p/10542557.html 堆排序是基于完全二叉树实现的,在将一个数组调整成一个堆的时候,关键之一的是确定最后一个非叶子节点的序号,这个序号为n/2-1,n为数组的长度。但是为什么呢? 可以分两种情形考虑: ①堆的最后一个非叶子节点 阅读全文
posted @ 2021-01-06 15:07 adfas 阅读(355) 评论(1) 推荐(0) 编辑