mirror of
https://github.com/krahets/hello-algo.git
synced 2026-04-09 22:00:52 +08:00
Use underline format for the technical terms (#1213)
* Use underline format for the technical terms * Bug fixes
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
# 二叉树
|
||||
|
||||
「二叉树 binary tree」是一种非线性数据结构,代表“祖先”与“后代”之间的派生关系,体现了“一分为二”的分治逻辑。与链表类似,二叉树的基本单元是节点,每个节点包含值、左子节点引用和右子节点引用。
|
||||
<u>二叉树(binary tree)</u>是一种非线性数据结构,代表“祖先”与“后代”之间的派生关系,体现了“一分为二”的分治逻辑。与链表类似,二叉树的基本单元是节点,每个节点包含值、左子节点引用和右子节点引用。
|
||||
|
||||
=== "Python"
|
||||
|
||||
@@ -198,7 +198,7 @@
|
||||
|
||||
```
|
||||
|
||||
每个节点都有两个引用(指针),分别指向「左子节点 left-child node」和「右子节点 right-child node」,该节点被称为这两个子节点的「父节点 parent node」。当给定一个二叉树的节点时,我们将该节点的左子节点及其以下节点形成的树称为该节点的「左子树 left subtree」,同理可得「右子树 right subtree」。
|
||||
每个节点都有两个引用(指针),分别指向<u>左子节点(left-child node)</u>和<u>右子节点(right-child node)</u>,该节点被称为这两个子节点的<u>父节点(parent node)</u>。当给定一个二叉树的节点时,我们将该节点的左子节点及其以下节点形成的树称为该节点的<u>左子树(left subtree)</u>,同理可得<u>右子树(right subtree)</u>。
|
||||
|
||||
**在二叉树中,除叶节点外,其他所有节点都包含子节点和非空子树**。如下图所示,如果将“节点 2”视为父节点,则其左子节点和右子节点分别是“节点 4”和“节点 5”,左子树是“节点 4 及其以下节点形成的树”,右子树是“节点 5 及其以下节点形成的树”。
|
||||
|
||||
@@ -208,14 +208,14 @@
|
||||
|
||||
二叉树的常用术语如下图所示。
|
||||
|
||||
- 「根节点 root node」:位于二叉树顶层的节点,没有父节点。
|
||||
- 「叶节点 leaf node」:没有子节点的节点,其两个指针均指向 `None` 。
|
||||
- 「边 edge」:连接两个节点的线段,即节点引用(指针)。
|
||||
- 节点所在的「层 level」:从顶至底递增,根节点所在层为 1 。
|
||||
- 节点的「度 degree」:节点的子节点的数量。在二叉树中,度的取值范围是 0、1、2 。
|
||||
- 二叉树的「高度 height」:从根节点到最远叶节点所经过的边的数量。
|
||||
- 节点的「深度 depth」:从根节点到该节点所经过的边的数量。
|
||||
- 节点的「高度 height」:从距离该节点最远的叶节点到该节点所经过的边的数量。
|
||||
- <u>根节点(root node)</u>:位于二叉树顶层的节点,没有父节点。
|
||||
- <u>叶节点(leaf node)</u>:没有子节点的节点,其两个指针均指向 `None` 。
|
||||
- <u>边(edge)</u>:连接两个节点的线段,即节点引用(指针)。
|
||||
- 节点所在的<u>层(level)</u>:从顶至底递增,根节点所在层为 1 。
|
||||
- 节点的<u>度(degree)</u>:节点的子节点的数量。在二叉树中,度的取值范围是 0、1、2 。
|
||||
- 二叉树的<u>高度(height)</u>:从根节点到最远叶节点所经过的边的数量。
|
||||
- 节点的<u>深度(depth)</u>:从根节点到该节点所经过的边的数量。
|
||||
- 节点的<u>高度(height)</u>:从距离该节点最远的叶节点到该节点所经过的边的数量。
|
||||
|
||||

|
||||
|
||||
@@ -615,29 +615,29 @@
|
||||
|
||||
### 完美二叉树
|
||||
|
||||
如下图所示,「完美二叉树 perfect binary tree」所有层的节点都被完全填满。在完美二叉树中,叶节点的度为 $0$ ,其余所有节点的度都为 $2$ ;若树的高度为 $h$ ,则节点总数为 $2^{h+1} - 1$ ,呈现标准的指数级关系,反映了自然界中常见的细胞分裂现象。
|
||||
如下图所示,<u>完美二叉树(perfect binary tree)</u>所有层的节点都被完全填满。在完美二叉树中,叶节点的度为 $0$ ,其余所有节点的度都为 $2$ ;若树的高度为 $h$ ,则节点总数为 $2^{h+1} - 1$ ,呈现标准的指数级关系,反映了自然界中常见的细胞分裂现象。
|
||||
|
||||
!!! tip
|
||||
|
||||
请注意,在中文社区中,完美二叉树常被称为「满二叉树」。
|
||||
请注意,在中文社区中,完美二叉树常被称为<u>满二叉树</u>。
|
||||
|
||||

|
||||
|
||||
### 完全二叉树
|
||||
|
||||
如下图所示,「完全二叉树 complete binary tree」只有最底层的节点未被填满,且最底层节点尽量靠左填充。
|
||||
如下图所示,<u>完全二叉树(complete binary tree)</u>只有最底层的节点未被填满,且最底层节点尽量靠左填充。
|
||||
|
||||

|
||||
|
||||
### 完满二叉树
|
||||
|
||||
如下图所示,「完满二叉树 full binary tree」除了叶节点之外,其余所有节点都有两个子节点。
|
||||
如下图所示,<u>完满二叉树(full binary tree)</u>除了叶节点之外,其余所有节点都有两个子节点。
|
||||
|
||||

|
||||
|
||||
### 平衡二叉树
|
||||
|
||||
如下图所示,「平衡二叉树 balanced binary tree」中任意节点的左子树和右子树的高度之差的绝对值不超过 1 。
|
||||
如下图所示,<u>平衡二叉树(balanced binary tree)</u>中任意节点的左子树和右子树的高度之差的绝对值不超过 1 。
|
||||
|
||||

|
||||
|
||||
|
||||
Reference in New Issue
Block a user