堆的几种操作

2013年5月12日 由 Creater 留言 »

堆的定义:第i个节点的左儿子编号为2*i+1,右儿子编号为2*i+2。如果为最大堆,则父亲节点i大于等于左右子节点;如果为最小堆,则父亲节点小于等于左右节点。

1.堆的数组化。即用n元数组来构造一个堆,首先写成完全二叉树,然后调整非叶节点。
2.堆元素的插入,将要插入的数据放在数组尾部,然后维护。
3.堆顶元素的删除,用最后一个元素来填充堆顶后维护。

广告位

发表评论

你必须 登陆 方可发表评论.