答案:把这个序列看成数组型的二叉树,如果根结点是i,左子树是2*i,右子树是2*i+1。
堆分为最大堆与最小堆。
最大堆中所有父节点都比左子树、右子树大,比如已知序列,画成堆就是:
所以已知序列是个最大堆。最小堆中所有父节点都比左子树、右子树小,比如{32,50,60,70,100,65},画成堆:
最大堆中所有父节点都比左子树、右子树大,比如已知序列,画成堆就是:
所以已知序列是个最大堆。
最小堆中所有父节点都比左子树、右子树小,比如{32,50,60,70,100,65},画成堆: