[路飞]_堆

104 阅读1分钟

二叉堆数据结构

二叉堆是一种特殊的二叉树,有以下两个特性

  • 它是一颗完全二叉树,表示树的每一层都有左侧和右侧子节点(除了最后一层的叶节点),并且最后一层的叶节点尽可能都是左侧子节点,这叫作结构特性。
  • 二叉堆不是最小堆就是最大堆。最小堆允许你快速导出树的最小值,最大堆允许你快速导出树的最大值。所有的节点都大于等于(最大堆)或小于等于(最小堆)每个它的子节点。这叫作堆特性。
  • 数据结构就是申明一个结构特性,并维护一种结构特性。 最大值时,称为“最大堆”,也称为大根堆:

在完全二叉树种,任何一个子树的最大值都在这个子树的根结点。

大根堆.png

最小值时,称为“最小堆”,也称小根堆

小根堆.png