特性

  1. 堆是一棵完全二叉树。即除了最底层,其他层的节点都被元素填满,且最底层尽可能地从左到右填入。
  2. 任意节点小于(或大于)它的所有后裔,最小元(或最大元)在堆的根上(堆序性)。

image.png

  1. 在数组中
    1. 根节点的位置总是在数组索引为 0 的位置
    2. 节点的父节点索引位置为 Math.floor((i - 1) / 2)
    3. 节点的左孩子索引为 2 i + 1,右孩子索引为为 2 i + 2

用途