堆( heap )是一种满足特定条件的完全二叉树,主要可分为两种类型:

  • 小顶堆(min heap):任意节点的值 <= 其子节点的值。
  • 大顶堆(max heap):任意节点的值 >= 其子节点的值。

由于堆是一种完全二叉树,因此我们将采用数组来存储堆。当使用数组表示二叉树时,元素代表节点值,索引代表节点在二叉树中的位置,节点指针通过索引映射公式来实现。