后端开发
大根堆 标签描述

堆 定义:什么是堆? 从堆的定义上我们可以看出,堆在物理结构上是一维数组,逻辑结构上,可以把堆理解为一棵完全二叉树,因为堆满足ki<=k2i+1,ki<=k2i+2(ki>=k2i+1,ki>=k2i+2),而我们了解对于完全二叉树,父结点和孩子结点存储在一维数组中有如下的下标关系: leftchild=parent2+1 rightchild=parent2+2=leftchild+1 与堆的下标关系是完全吻合的,所以在逻辑上我们可以把堆理解为一颗完全二叉树。 给定一个任意的一维数组,在逻辑上,我们可以将其理解为一颗完全二叉树。 此时一维数组只是一颗...