二叉堆的基本操作

插入

对二叉堆的插入记住以下要点:
1.若根节点在数组下标 1 处,那么 下标 i 的左儿子在 下标 2i ,右儿子在下标 2i+1 ; 节点 x 的父节点 在 x/2 处

2.先尝试插入到最后的空位 p ,若不满足性质,则将p的父节点p/2的值放到p处,而继续尝试将值插入到p/2处,以此类推至成功插入。这个过程叫上滤

 删除最小元

要点

1.最小元在根节点,

2.删掉后将留下空位,二叉堆不允许在头部和中间留下空位。需找元素填充

3.删掉一个元素后,堆的大小将减 1 ,那么原本处在最后一个位置的元素也要换位置

4.综合 2 3 可这样操作,先将最后元素放到根节点,然后递归的将这个节点往下调整位置,这个过程叫下滤

posted @ 2022-08-20 15:43  向金华  阅读(42)  评论(0)    收藏  举报