0%

数据结构堆

文章字数:174,阅读全文大约需要1分钟

堆(heap)又被成为优先队列(priority queue)。堆虽然也是从头部取出元素,从堆底插入,但是堆中的元素排列是按照一定顺序排列的。

两种堆

  1. 最大堆(大顶堆):任意节点必须是起子树的最大值
  2. 最小堆(小顶堆):任意节点必须是起子树的最小值

特征

  1. 维持完全二叉树
  2. 子类数字总是大于父类数字

支持的操作

  1. 添加
  2. 删除
  3. 查找最大/最小值

堆排序

  1. 将数据存入堆
  2. 挨个取出(取出的一定是最大值)
    就排列好了。