mirror of
https://github.com/krahets/hello-algo.git
synced 2026-08-20 07:21:02 +00:00
Replace ":" with "。"
This commit is contained in:
@@ -1,13 +1,13 @@
|
||||
# 堆
|
||||
|
||||
「堆 heap」是一种满足特定条件的完全二叉树,主要可分为下图所示的两种类型:
|
||||
「堆 heap」是一种满足特定条件的完全二叉树,主要可分为下图所示的两种类型。
|
||||
|
||||
- 「大顶堆 max heap」:任意节点的值 $\geq$ 其子节点的值。
|
||||
- 「小顶堆 min heap」:任意节点的值 $\leq$ 其子节点的值。
|
||||
|
||||

|
||||
|
||||
堆作为完全二叉树的一个特例,具有以下特性:
|
||||
堆作为完全二叉树的一个特例,具有以下特性。
|
||||
|
||||
- 最底层节点靠左填充,其他层的节点都被填满。
|
||||
- 我们将二叉树的根节点称为“堆顶”,将底层最靠右的节点称为“堆底”。
|
||||
@@ -656,7 +656,7 @@
|
||||
|
||||
### 堆顶元素出堆
|
||||
|
||||
堆顶元素是二叉树的根节点,即列表首元素。如果我们直接从列表中删除首元素,那么二叉树中所有节点的索引都会发生变化,这将使得后续使用堆化修复变得困难。为了尽量减少元素索引的变动,我们采取以下操作步骤:
|
||||
堆顶元素是二叉树的根节点,即列表首元素。如果我们直接从列表中删除首元素,那么二叉树中所有节点的索引都会发生变化,这将使得后续使用堆化修复变得困难。为了尽量减少元素索引的变动,我们采取以下操作步骤。
|
||||
|
||||
1. 交换堆顶元素与堆底元素(即交换根节点与最右叶节点)。
|
||||
2. 交换完成后,将堆底从列表中删除(注意,由于已经交换,实际上删除的是原来的堆顶元素)。
|
||||
|
||||
Reference in New Issue
Block a user