1、什么是堆?
如果有一个关键码的集合K = {k0,k1, k2,…,kn-1},把它的所有元素按完全二叉树的顺序存储方式存储在一个一维数组中,并满足:Ki <= K2i+1 且 Ki<=K2i+2 ,则称为小堆(或大堆)。将根节点最大的堆叫做最大堆或大根堆,根节点最小的堆叫做最小堆或小根堆。
2、什么是二叉堆?
二叉堆是完全二叉树或者是近似完全二叉树,按照数据的排列方式可以分为两种:最大堆和最小堆。
所谓完全二叉树,简单来说,就是除了最后一层外每一层节点数均达到最大值,并且最后一层的节点都连续集中在最左边
如果对于每个父节点的值都大于等于(或者小于等于)其两个孩子的值,那么就称这种特殊的数据结构为堆