二叉堆

二叉堆的逻辑结构是一棵完全二叉树,所以叫完全二叉堆

索引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)

你可能感兴趣的:(二叉堆)