小学生数据结构和基础算法

我的第一本算法书 配套 算法动画图解.apk, 能快速了解各个数据结构和算法


堆排序部分,可以参考 STL源码剖析 4.7 heap(隐式表述,implicit representation)

STL 是max heap, 最大在最前面


image

image


push_heap 放在最后,执行上升的过程。



image


pop_heap 把根结点移到最后,把最后的节点移到根,执行下降的过程。


image


pop_heap 并不删除元素,只是放在最后。 可以用底部容器 vector的back来取值,或者pop_back 删除

image


每次改变last--,从后往前pop_heap,就能实现堆排序


make_heap 把一个数组做成隐式的heap形式

posted on 2021-10-15 16:12  katago  阅读(123)  评论(0编辑  收藏  举报