堆(Heap)是一种具有特定性质的完全二叉树。完全二叉树指的是一棵除了最后一层外,每一层的节点数都达到最大,并且所有节点都尽可能地集中在左侧。
堆主要分为两种类型:

  • 最大堆(Max Heap):每个节点的值都大于或等于其子节点的值。
  • 最小堆(Min Heap):每个节点的值都小于或等于其子节点的值。

堆通常用于实现优先队列,支持快速的最大值或最小值访问。