mirror of
https://github.com/krahets/hello-algo.git
synced 2026-08-21 15:57:14 +00:00
Unify punctuation.
This commit is contained in:
@@ -2,8 +2,8 @@
|
||||
|
||||
「堆 Heap」是一种满足特定条件的完全二叉树,可分为两种类型:
|
||||
|
||||
- 「大顶堆 Max Heap」,任意节点的值 $\geq$ 其子节点的值;
|
||||
- 「小顶堆 Min Heap」,任意节点的值 $\leq$ 其子节点的值;
|
||||
- 「大顶堆 Max Heap」,任意节点的值 $\geq$ 其子节点的值。
|
||||
- 「小顶堆 Min Heap」,任意节点的值 $\leq$ 其子节点的值。
|
||||
|
||||

|
||||
|
||||
@@ -630,9 +630,9 @@
|
||||
|
||||
堆顶元素是二叉树的根节点,即列表首元素。如果我们直接从列表中删除首元素,那么二叉树中所有节点的索引都会发生变化,这将使得后续使用堆化修复变得困难。为了尽量减少元素索引的变动,我们采取以下操作步骤:
|
||||
|
||||
1. 交换堆顶元素与堆底元素(即交换根节点与最右叶节点);
|
||||
2. 交换完成后,将堆底从列表中删除(注意,由于已经交换,实际上删除的是原来的堆顶元素);
|
||||
3. 从根节点开始,**从顶至底执行堆化**;
|
||||
1. 交换堆顶元素与堆底元素(即交换根节点与最右叶节点)。
|
||||
2. 交换完成后,将堆底从列表中删除(注意,由于已经交换,实际上删除的是原来的堆顶元素)。
|
||||
3. 从根节点开始,**从顶至底执行堆化**。
|
||||
|
||||
顾名思义,**从顶至底堆化的操作方向与从底至顶堆化相反**,我们将根节点的值与其两个子节点的值进行比较,将最大的子节点与根节点交换;然后循环执行此操作,直到越过叶节点或遇到无需交换的节点时结束。
|
||||
|
||||
|
||||
Reference in New Issue
Block a user