堆(Heap)是计算机科学中一类特殊的数据结构的统称。堆通常是一个可以被看做一棵完全二叉树的数组对象。堆总是满足下列性质: 堆中某个结点的值总是不大于或不小于其父结点的值;堆总是一棵完全二叉树。 将根结点最大的堆叫做最大堆或大根堆,根结点最小的堆叫做最小堆或小根堆。堆是非线性数据结构,相当于一维数组,有两个直接后继。 小顶堆: