二叉堆的逻辑结构是一棵完全二叉树,所以叫完全二叉堆
索引i的规律
如果i=0,它是根结点
如果i>0,它的父节点索引为floor((i-1) / 2)
如果2i+1<=n-1 它的左子节点索引为2i+1
如果2i+1>n-1,它无左子节点
如果2i+2<=n-1,它的右子节点索引为2i+2
如果2i+2>n-1,它无右子节点
最大堆添加(尾部添加):和父节点比较,比父节点大则上滤O(logn)
最大堆删除(头部删除):和最后一个元素交换,和子节点中最大的一个进行比较,如果小于子节点,则进行下滤O(logn)
网友评论