mirror of
https://github.com/krahets/hello-algo.git
synced 2026-04-27 12:01:49 +08:00
Number the H1 and H2 headings.
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
comments: true
|
||||
---
|
||||
|
||||
# AVL 树 *
|
||||
# 7.4. AVL 树 *
|
||||
|
||||
在「二叉搜索树」章节中提到,在进行多次插入与删除操作后,二叉搜索树可能会退化为链表。此时所有操作的时间复杂度都会由 $O(\log n)$ 劣化至 $O(n)$ 。
|
||||
|
||||
@@ -18,7 +18,7 @@ G. M. Adelson-Velsky 和 E. M. Landis 在其 1962 年发表的论文 "An algorit
|
||||
|
||||
换言之,在频繁增删查改的使用场景中,AVL 树可始终保持很高的数据增删查改效率,具有很好的应用价值。
|
||||
|
||||
## AVL 树常见术语
|
||||
## 7.4.1. AVL 树常见术语
|
||||
|
||||
「AVL 树」既是「二叉搜索树」又是「平衡二叉树」,同时满足这两种二叉树的所有性质,因此又被称为「平衡二叉搜索树」。
|
||||
|
||||
@@ -329,7 +329,7 @@ G. M. Adelson-Velsky 和 E. M. Landis 在其 1962 年发表的论文 "An algorit
|
||||
|
||||
设平衡因子为 $f$ ,则一棵 AVL 树的任意结点的平衡因子皆满足 $-1 \le f \le 1$ 。
|
||||
|
||||
## AVL 树旋转
|
||||
## 7.4.2. AVL 树旋转
|
||||
|
||||
AVL 树的独特之处在于「旋转 Rotation」的操作,其可 **在不影响二叉树中序遍历序列的前提下,使失衡结点重新恢复平衡**。换言之,旋转操作既可以使树保持为「二叉搜索树」,也可以使树重新恢复为「平衡二叉树」。
|
||||
|
||||
@@ -827,7 +827,7 @@ AVL 树的独特之处在于「旋转 Rotation」的操作,其可 **在不影
|
||||
}
|
||||
```
|
||||
|
||||
## AVL 树常用操作
|
||||
## 7.4.3. AVL 树常用操作
|
||||
|
||||
### 插入结点
|
||||
|
||||
@@ -1253,7 +1253,7 @@ AVL 树的独特之处在于「旋转 Rotation」的操作,其可 **在不影
|
||||
|
||||
「AVL 树」的结点查找操作与「二叉搜索树」一致,在此不再赘述。
|
||||
|
||||
## AVL 树典型应用
|
||||
## 7.4.4. AVL 树典型应用
|
||||
|
||||
- 组织存储大型数据,适用于高频查找、低频增删场景;
|
||||
- 用于建立数据库中的索引系统;
|
||||
|
||||
Reference in New Issue
Block a user