File tree 1 file changed +5
-5
lines changed
Contents/07.Tree/02.Binary-Search-Tree
1 file changed +5
-5
lines changed Original file line number Diff line number Diff line change 6
6
> - 如果任意节点的右子树不为空,则右子树上所有节点的值均大于它的根节点的值。
7
7
> - 任意节点的左子树、右子树均为二叉搜索树。
8
8
9
- 如图所示,这 ` 3 ` 棵树都是二叉搜索树。
9
+ 如图所示,这 $3$ 棵树都是二叉搜索树。
10
10
11
11
![ img] ( https://qcdn.itcharge.cn/images/20220218175944.png )
12
12
13
- 二叉树具有一个特性,即:** 左子树的节点值 < 根节点值 < 右子树的节点值** 。
13
+ 二叉树具有一个特性,即:$ 左子树的节点值 < 根节点值 < 右子树的节点值$ 。
14
14
15
15
根据这个特性,如果我们以中序遍历的方式遍历整个二叉搜索树时,会得到一个递增序列。例如,一棵二叉搜索树的中序遍历序列如下图所示。
16
16
@@ -47,9 +47,9 @@ class Solution:
47
47
### 2.3 二叉搜索树的查找算法分析
48
48
49
49
- 二叉搜索树的查找时间复杂度和树的形态有关。
50
- - 在最好情况下,二叉搜索树的形态与二分查找的判定树相似。每次查找都可以所辖一半搜索范围。查找路径最多从根节点到叶子节点,比较次数最多为树的高度 $log n$。在最好情况下查找的时间复杂度为 $O(log_2 n)$。
50
+ - 在最好情况下,二叉搜索树的形态与二分查找的判定树相似。每次查找都可以所辖一半搜索范围。查找路径最多从根节点到叶子节点,比较次数最多为树的高度 $\log_2 n$。在最好情况下查找的时间复杂度为 $O(\ log_2 n)$。
51
51
- 在最坏情况下,二叉搜索树的形态为单支树,即只有左子树或者只有右子树。每次查找的搜索范围都缩小为 $n - 1$,退化为顺序查找,在最坏情况下时间复杂度为 $O(n)$。
52
- - 在平均情况下,二叉搜索树的平均查找长度为 $ASL = [ (n+1)/ n] * log_2(n+1) - 1$。所以二分搜索树的查找平均时间复杂度为 $O(log_2 n)$。
52
+ - 在平均情况下,二叉搜索树的平均查找长度为 $ASL = [ (n + 1) / n] * / log_2(n+1) - 1$。所以二分搜索树的查找平均时间复杂度为 $O(log_2 n)$。
53
53
54
54
## 3. 二叉搜索树的插入
55
55
@@ -117,7 +117,7 @@ class Solution:
117
117
118
118
### 5.1 二叉搜索树的删除算法步骤
119
119
120
- 在二叉搜索树中删除元素,首先要找到待删除节点,然后执行删除操作。根据待删除节点所在位置的不同,可以分为 ` 3 ` 种情况:
120
+ 在二叉搜索树中删除元素,首先要找到待删除节点,然后执行删除操作。根据待删除节点所在位置的不同,可以分为 $3$ 种情况:
121
121
122
122
1 . 被删除节点的左子树为空。则令其右子树代替被删除节点的位置。
123
123
2 . 被删除节点的右子树为空。则令其左子树代替被删除节点的位置。
You can’t perform that action at this time.
0 commit comments