跳到主要内容

堆(Heap)

树状数据结构,用于解决 Top K 的问题(从多个数据中找出最大或最小的 K 个数)

常用堆

  • 二叉堆(Binary Heap)
  • 多叉堆(D-heap、D-aryHeap)
  • 索引堆(IndexHeap)
  • 二项堆(BinomialHeap)
  • 斐波那契堆(FibonacciHeap)
  • 左倾堆(LeftistHeap、左式堆)
  • 斜堆(SkewHeap)

性值

  • 对于任意节点的值总是>=子节点的值的堆称为:最大堆、大根堆、大顶堆
  • 对于任意节点的值总是<=子节点的值的堆称为:最小堆、小根堆、小顶堆