mirror of
https://github.com/krahets/hello-algo.git
synced 2025-12-19 07:17:54 +08:00
Number the H1 and H2 headings.
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
comments: true
|
||||
---
|
||||
|
||||
# 二叉树
|
||||
# 7.1. 二叉树
|
||||
|
||||
「二叉树 Binary Tree」是一种非线性数据结构,代表着祖先与后代之间的派生关系,体现着“一分为二”的分治逻辑。类似于链表,二叉树也是以结点为单位存储的,结点包含「值」和两个「指针」。
|
||||
|
||||
@@ -129,7 +129,7 @@ comments: true
|
||||
|
||||
<p align="center"> Fig. 子结点与子树 </p>
|
||||
|
||||
## 二叉树常见术语
|
||||
## 7.1.1. 二叉树常见术语
|
||||
|
||||
二叉树的术语较多,建议尽量理解并记住。后续可能遗忘,可以在需要使用时回来查看确认。
|
||||
|
||||
@@ -150,7 +150,7 @@ comments: true
|
||||
|
||||
值得注意,我们通常将「高度」和「深度」定义为“走过边的数量”,而有些题目或教材会将其定义为“走过结点的数量”,此时高度或深度都需要 + 1 。
|
||||
|
||||
## 二叉树基本操作
|
||||
## 7.1.2. 二叉树基本操作
|
||||
|
||||
**初始化二叉树**。与链表类似,先初始化结点,再构建引用指向(即指针)。
|
||||
|
||||
@@ -404,7 +404,7 @@ comments: true
|
||||
|
||||
插入结点会改变二叉树的原有逻辑结构,删除结点往往意味着删除了该结点的所有子树。因此,二叉树中的插入与删除一般都是由一套操作配合完成的,这样才能实现有意义的操作。
|
||||
|
||||
## 常见二叉树类型
|
||||
## 7.1.3. 常见二叉树类型
|
||||
|
||||
### 完美二叉树
|
||||
|
||||
@@ -436,7 +436,7 @@ comments: true
|
||||
|
||||

|
||||
|
||||
## 二叉树的退化
|
||||
## 7.1.4. 二叉树的退化
|
||||
|
||||
当二叉树的每层的结点都被填满时,达到「完美二叉树」;而当所有结点都偏向一边时,二叉树退化为「链表」。
|
||||
|
||||
@@ -460,7 +460,7 @@ comments: true
|
||||
|
||||
</div>
|
||||
|
||||
## 二叉树表示方式 *
|
||||
## 7.1.5. 二叉树表示方式 *
|
||||
|
||||
我们一般使用二叉树的「链表表示」,即存储单位为结点 `TreeNode` ,结点之间通过指针(引用)相连接。本文前述示例代码展示了二叉树在链表表示下的各项基本操作。
|
||||
|
||||
|
||||
Reference in New Issue
Block a user