




堆可以表示成数组的形式。按照层次遍历
N个节点的层数为logN
索引为i的结点 的父节点为:(i - 1) // 2
索引为i的结点 的左节点为:2i + 1
索引为i的结点 的右节点为:左节点索引 + 1 或者2i + 2

根节点的值最大



最大值在根节点 MAX heap
或者做一个最小值在上面 MIN heap

由于高度为log n
所以从最低层到根节点最多需要log n 的操作
所以插入一个节点的复杂度为logn

上升的终止条件:
1、到了根节点
2、小于父节点



堆的删除 只能删除最大的 删除后且保证还是一个堆











堆 python实现
最新推荐文章于 2025-11-03 02:14:53 发布
571

被折叠的 条评论
为什么被折叠?



