参考: https://blog.csdn.net/guoweimelon/article/details/50904346 1、如何判断一个序列是不是堆? 把这个序列看成是数组型的二叉树, 如果根节点是i,左子数是2*i,右子数是2*i+1。 2、 堆分为最大堆和最小堆。 (1)最大堆 当父节点的键值总是大于或等于任何一个子节点的键值时为最大堆。画成堆形式如下: (2)最小堆 当父节点的键值总是小于或等于任何一个子节点的键值时为最小堆,画成堆形式如下: