This commit is contained in:
krahets
2023-02-26 19:22:52 +08:00
parent 8e0872643c
commit cf26cd551a
17 changed files with 20 additions and 42 deletions
+1 -1
View File
@@ -455,7 +455,7 @@ AVL 树的独特之处在于「旋转 Rotation」的操作,其可 **在不影
如下图所示(结点下方为「平衡因子」),从底至顶看,二叉树中首个失衡结点是 **结点 3**。我们聚焦在以该失衡结点为根结点的子树上,将该结点记为 `node` ,将其左子结点记为 `child` ,执行「右旋」操作。完成右旋后,该子树已经恢复平衡,并且仍然为二叉搜索树。
=== "<1>"
![avltree_right_rotate_step1](avl_tree.assets/avltree_right_rotate_step1.png)
![右旋操作步骤](avl_tree.assets/avltree_right_rotate_step1.png)
=== "<2>"
![avltree_right_rotate_step2](avl_tree.assets/avltree_right_rotate_step2.png)
+2 -2
View File
@@ -22,7 +22,7 @@ comments: true
-`cur.val = num` ,说明找到目标结点,跳出循环并返回该结点即可;
=== "<1>"
![bst_search_step1](binary_search_tree.assets/bst_search_step1.png)
![查找结点步骤](binary_search_tree.assets/bst_search_step1.png)
=== "<2>"
![bst_search_step2](binary_search_tree.assets/bst_search_step2.png)
@@ -562,7 +562,7 @@ comments: true
3. 使用 `nex` 替换待删除结点;
=== "<1>"
![bst_remove_case3_step1](binary_search_tree.assets/bst_remove_case3_step1.png)
![删除结点(度为 2)步骤](binary_search_tree.assets/bst_remove_case3_step1.png)
=== "<2>"
![bst_remove_case3_step2](binary_search_tree.assets/bst_remove_case3_step2.png)
-4
View File
@@ -16,8 +16,6 @@ comments: true
![二叉树的层序遍历](binary_tree_traversal.assets/binary_tree_bfs.png)
<p align="center"> Fig. 二叉树的层序遍历 </p>
### 算法实现
广度优先遍历一般借助「队列」来实现。队列的规则是“先进先出”,广度优先遍历的规则是 ”一层层平推“ ,两者背后的思想是一致的。
@@ -258,8 +256,6 @@ comments: true
![二叉搜索树的前、中、后序遍历](binary_tree_traversal.assets/binary_tree_dfs.png)
<p align="center"> Fig. 二叉树的前 / 中 / 后序遍历 </p>
<div class="center-table" markdown>
| 位置 | 含义 | 此处访问结点时对应 |