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