This commit is contained in:
krahets
2023-02-24 18:46:22 +08:00
parent 0edd696eb7
commit 700da13226
50 changed files with 3964 additions and 3964 deletions

View File

@@ -25,7 +25,7 @@
<title>7.3. 二叉搜索树 - Hello 算法</title>
<title>7.3.   二叉搜索树 - Hello 算法</title>
@@ -111,7 +111,7 @@
<div class="md-header__topic" data-md-component="header-topic">
<span class="md-ellipsis">
7.3. 二叉搜索树
7.3. &nbsp; 二叉搜索树
</span>
</div>
@@ -268,14 +268,14 @@
<label class="md-nav__link" for="__nav_1" id="__nav_1_label" tabindex="0">
0. 写在前面
0. &nbsp; &nbsp; 写在前面
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_1_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_1">
<span class="md-nav__icon md-icon"></span>
0. 写在前面
0. &nbsp; &nbsp; 写在前面
</label>
<ul class="md-nav__list" data-md-scrollfix>
@@ -286,7 +286,7 @@
<li class="md-nav__item">
<a href="../../chapter_preface/about_the_book/" class="md-nav__link">
0.1. 关于本书
0.1. &nbsp; 关于本书
</a>
</li>
@@ -300,7 +300,7 @@
<li class="md-nav__item">
<a href="../../chapter_preface/suggestions/" class="md-nav__link">
0.2. 如何使用本书
0.2. &nbsp; 如何使用本书
</a>
</li>
@@ -314,7 +314,7 @@
<li class="md-nav__item">
<a href="../../chapter_preface/installation/" class="md-nav__link">
0.3. 编程环境安装
0.3. &nbsp; 编程环境安装
</a>
</li>
@@ -328,7 +328,7 @@
<li class="md-nav__item">
<a href="../../chapter_preface/contribution/" class="md-nav__link">
0.4. 一起参与创作
0.4. &nbsp; 一起参与创作
</a>
</li>
@@ -367,14 +367,14 @@
<label class="md-nav__link" for="__nav_2" id="__nav_2_label" tabindex="0">
1. 引言
1. &nbsp; &nbsp; 引言
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_2_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_2">
<span class="md-nav__icon md-icon"></span>
1. 引言
1. &nbsp; &nbsp; 引言
</label>
<ul class="md-nav__list" data-md-scrollfix>
@@ -385,7 +385,7 @@
<li class="md-nav__item">
<a href="../../chapter_introduction/algorithms_are_everywhere/" class="md-nav__link">
1.1. 算法无处不在
1.1. &nbsp; 算法无处不在
</a>
</li>
@@ -399,7 +399,7 @@
<li class="md-nav__item">
<a href="../../chapter_introduction/what_is_dsa/" class="md-nav__link">
1.2. 算法是什么
1.2. &nbsp; 算法是什么
</a>
</li>
@@ -444,14 +444,14 @@
<label class="md-nav__link" for="__nav_3" id="__nav_3_label" tabindex="0">
2. 计算复杂度
2. &nbsp; &nbsp; 计算复杂度
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3">
<span class="md-nav__icon md-icon"></span>
2. 计算复杂度
2. &nbsp; &nbsp; 计算复杂度
</label>
<ul class="md-nav__list" data-md-scrollfix>
@@ -462,7 +462,7 @@
<li class="md-nav__item">
<a href="../../chapter_computational_complexity/performance_evaluation/" class="md-nav__link">
2.1. 算法效率评估
2.1. &nbsp; 算法效率评估
</a>
</li>
@@ -476,7 +476,7 @@
<li class="md-nav__item">
<a href="../../chapter_computational_complexity/time_complexity/" class="md-nav__link">
2.2. 时间复杂度
2.2. &nbsp; 时间复杂度
</a>
</li>
@@ -490,7 +490,7 @@
<li class="md-nav__item">
<a href="../../chapter_computational_complexity/space_complexity/" class="md-nav__link">
2.3. 空间复杂度
2.3. &nbsp; 空间复杂度
</a>
</li>
@@ -504,7 +504,7 @@
<li class="md-nav__item">
<a href="../../chapter_computational_complexity/space_time_tradeoff/" class="md-nav__link">
2.4. 权衡时间与空间
2.4. &nbsp; 权衡时间与空间
</a>
</li>
@@ -518,7 +518,7 @@
<li class="md-nav__item">
<a href="../../chapter_computational_complexity/summary/" class="md-nav__link">
2.5. 小结
2.5. &nbsp; 小结
</a>
</li>
@@ -559,14 +559,14 @@
<label class="md-nav__link" for="__nav_4" id="__nav_4_label" tabindex="0">
3. 数据结构简介
3. &nbsp; &nbsp; 数据结构简介
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4">
<span class="md-nav__icon md-icon"></span>
3. 数据结构简介
3. &nbsp; &nbsp; 数据结构简介
</label>
<ul class="md-nav__list" data-md-scrollfix>
@@ -577,7 +577,7 @@
<li class="md-nav__item">
<a href="../../chapter_data_structure/data_and_memory/" class="md-nav__link">
3.1. 数据与内存
3.1. &nbsp; 数据与内存
</a>
</li>
@@ -591,7 +591,7 @@
<li class="md-nav__item">
<a href="../../chapter_data_structure/classification_of_data_structure/" class="md-nav__link">
3.2. 数据结构分类
3.2. &nbsp; 数据结构分类
</a>
</li>
@@ -605,7 +605,7 @@
<li class="md-nav__item">
<a href="../../chapter_data_structure/summary/" class="md-nav__link">
3.3. 小结
3.3. &nbsp; 小结
</a>
</li>
@@ -648,14 +648,14 @@
<label class="md-nav__link" for="__nav_5" id="__nav_5_label" tabindex="0">
4. 数组与链表
4. &nbsp; &nbsp; 数组与链表
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_5">
<span class="md-nav__icon md-icon"></span>
4. 数组与链表
4. &nbsp; &nbsp; 数组与链表
</label>
<ul class="md-nav__list" data-md-scrollfix>
@@ -666,7 +666,7 @@
<li class="md-nav__item">
<a href="../../chapter_array_and_linkedlist/array/" class="md-nav__link">
4.1. 数组Array
4.1. &nbsp; 数组Array
</a>
</li>
@@ -680,7 +680,7 @@
<li class="md-nav__item">
<a href="../../chapter_array_and_linkedlist/linked_list/" class="md-nav__link">
4.2. 链表LinkedList
4.2. &nbsp; 链表LinkedList
</a>
</li>
@@ -694,7 +694,7 @@
<li class="md-nav__item">
<a href="../../chapter_array_and_linkedlist/list/" class="md-nav__link">
4.3. 列表List
4.3. &nbsp; 列表List
</a>
</li>
@@ -708,7 +708,7 @@
<li class="md-nav__item">
<a href="../../chapter_array_and_linkedlist/summary/" class="md-nav__link">
4.4. 小结
4.4. &nbsp; 小结
</a>
</li>
@@ -751,14 +751,14 @@
<label class="md-nav__link" for="__nav_6" id="__nav_6_label" tabindex="0">
5. 栈与队列
5. &nbsp; &nbsp; 栈与队列
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_6_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_6">
<span class="md-nav__icon md-icon"></span>
5. 栈与队列
5. &nbsp; &nbsp; 栈与队列
</label>
<ul class="md-nav__list" data-md-scrollfix>
@@ -769,7 +769,7 @@
<li class="md-nav__item">
<a href="../../chapter_stack_and_queue/stack/" class="md-nav__link">
5.1. 栈Stack
5.1. &nbsp;Stack
</a>
</li>
@@ -783,7 +783,7 @@
<li class="md-nav__item">
<a href="../../chapter_stack_and_queue/queue/" class="md-nav__link">
5.2. 队列Queue
5.2. &nbsp; 队列Queue
</a>
</li>
@@ -797,7 +797,7 @@
<li class="md-nav__item">
<a href="../../chapter_stack_and_queue/deque/" class="md-nav__link">
5.3. 双向队列Deque
5.3. &nbsp; 双向队列Deque
</a>
</li>
@@ -811,7 +811,7 @@
<li class="md-nav__item">
<a href="../../chapter_stack_and_queue/summary/" class="md-nav__link">
5.4. 小结
5.4. &nbsp; 小结
</a>
</li>
@@ -852,14 +852,14 @@
<label class="md-nav__link" for="__nav_7" id="__nav_7_label" tabindex="0">
6. 散列表
6. &nbsp; &nbsp; 散列表
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_7_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_7">
<span class="md-nav__icon md-icon"></span>
6. 散列表
6. &nbsp; &nbsp; 散列表
</label>
<ul class="md-nav__list" data-md-scrollfix>
@@ -870,7 +870,7 @@
<li class="md-nav__item">
<a href="../../chapter_hashing/hash_map/" class="md-nav__link">
6.1. 哈希表HashMap
6.1. &nbsp; 哈希表HashMap
</a>
</li>
@@ -884,7 +884,7 @@
<li class="md-nav__item">
<a href="../../chapter_hashing/hash_collision/" class="md-nav__link">
6.2. 哈希冲突处理
6.2. &nbsp; 哈希冲突处理
</a>
</li>
@@ -898,7 +898,7 @@
<li class="md-nav__item">
<a href="../../chapter_hashing/summary/" class="md-nav__link">
6.3. 小结
6.3. &nbsp; 小结
</a>
</li>
@@ -945,14 +945,14 @@
<label class="md-nav__link" for="__nav_8" id="__nav_8_label" tabindex="0">
7. 二叉树
7. &nbsp; &nbsp; 二叉树
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_8_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_8">
<span class="md-nav__icon md-icon"></span>
7. 二叉树
7. &nbsp; &nbsp; 二叉树
</label>
<ul class="md-nav__list" data-md-scrollfix>
@@ -963,7 +963,7 @@
<li class="md-nav__item">
<a href="../binary_tree/" class="md-nav__link">
7.1. 二叉树Binary Tree
7.1. &nbsp; 二叉树Binary Tree
</a>
</li>
@@ -977,7 +977,7 @@
<li class="md-nav__item">
<a href="../binary_tree_traversal/" class="md-nav__link">
7.2. 二叉树遍历
7.2. &nbsp; 二叉树遍历
</a>
</li>
@@ -1000,12 +1000,12 @@
<label class="md-nav__link md-nav__link--active" for="__toc">
7.3. 二叉搜索树
7.3. &nbsp; 二叉搜索树
<span class="md-nav__icon md-icon"></span>
</label>
<a href="./" class="md-nav__link md-nav__link--active">
7.3. 二叉搜索树
7.3. &nbsp; 二叉搜索树
</a>
@@ -1025,10 +1025,10 @@
<li class="md-nav__item">
<a href="#731" class="md-nav__link">
7.3.1. 二叉搜索树的操作
7.3.1. &nbsp; 二叉搜索树的操作
</a>
<nav class="md-nav" aria-label="7.3.1. 二叉搜索树的操作">
<nav class="md-nav" aria-label="7.3.1. &nbsp; 二叉搜索树的操作">
<ul class="md-nav__list">
<li class="md-nav__item">
@@ -1066,21 +1066,21 @@
<li class="md-nav__item">
<a href="#732" class="md-nav__link">
7.3.2. 二叉搜索树的效率
7.3.2. &nbsp; 二叉搜索树的效率
</a>
</li>
<li class="md-nav__item">
<a href="#733" class="md-nav__link">
7.3.3. 二叉搜索树的退化
7.3.3. &nbsp; 二叉搜索树的退化
</a>
</li>
<li class="md-nav__item">
<a href="#734" class="md-nav__link">
7.3.4. 二叉搜索树常见应用
7.3.4. &nbsp; 二叉搜索树常见应用
</a>
</li>
@@ -1101,7 +1101,7 @@
<li class="md-nav__item">
<a href="../avl_tree/" class="md-nav__link">
7.4. AVL 树 *
7.4. &nbsp; AVL 树 *
</a>
</li>
@@ -1115,7 +1115,7 @@
<li class="md-nav__item">
<a href="../summary/" class="md-nav__link">
7.5. 小结
7.5. &nbsp; 小结
</a>
</li>
@@ -1152,14 +1152,14 @@
<label class="md-nav__link" for="__nav_9" id="__nav_9_label" tabindex="0">
8. 堆
8. &nbsp; &nbsp;
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_9_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_9">
<span class="md-nav__icon md-icon"></span>
8. 堆
8. &nbsp; &nbsp;
</label>
<ul class="md-nav__list" data-md-scrollfix>
@@ -1170,7 +1170,7 @@
<li class="md-nav__item">
<a href="../../chapter_heap/heap/" class="md-nav__link">
8.1. 堆Heap
8.1. &nbsp;Heap
</a>
</li>
@@ -1211,14 +1211,14 @@
<label class="md-nav__link" for="__nav_10" id="__nav_10_label" tabindex="0">
9. 图
9. &nbsp; &nbsp;
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_10_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_10">
<span class="md-nav__icon md-icon"></span>
9. 图
9. &nbsp; &nbsp;
</label>
<ul class="md-nav__list" data-md-scrollfix>
@@ -1229,7 +1229,7 @@
<li class="md-nav__item">
<a href="../../chapter_graph/graph/" class="md-nav__link">
9.1. 图Graph
9.1. &nbsp;Graph
</a>
</li>
@@ -1243,7 +1243,7 @@
<li class="md-nav__item">
<a href="../../chapter_graph/graph_operations/" class="md-nav__link">
9.2. 图基础操作
9.2. &nbsp; 图基础操作
</a>
</li>
@@ -1257,7 +1257,7 @@
<li class="md-nav__item">
<a href="../../chapter_graph/graph_traversal/" class="md-nav__link">
9.3. 图的遍历
9.3. &nbsp; 图的遍历
</a>
</li>
@@ -1300,14 +1300,14 @@
<label class="md-nav__link" for="__nav_11" id="__nav_11_label" tabindex="0">
10. 查找算法
10. &nbsp; &nbsp; 查找算法
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_11_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_11">
<span class="md-nav__icon md-icon"></span>
10. 查找算法
10. &nbsp; &nbsp; 查找算法
</label>
<ul class="md-nav__list" data-md-scrollfix>
@@ -1318,7 +1318,7 @@
<li class="md-nav__item">
<a href="../../chapter_searching/linear_search/" class="md-nav__link">
10.1. 线性查找
10.1. &nbsp; 线性查找
</a>
</li>
@@ -1332,7 +1332,7 @@
<li class="md-nav__item">
<a href="../../chapter_searching/binary_search/" class="md-nav__link">
10.2. 二分查找
10.2. &nbsp; 二分查找
</a>
</li>
@@ -1346,7 +1346,7 @@
<li class="md-nav__item">
<a href="../../chapter_searching/hashing_search/" class="md-nav__link">
10.3. 哈希查找
10.3. &nbsp; 哈希查找
</a>
</li>
@@ -1360,7 +1360,7 @@
<li class="md-nav__item">
<a href="../../chapter_searching/summary/" class="md-nav__link">
10.4. 小结
10.4. &nbsp; 小结
</a>
</li>
@@ -1407,14 +1407,14 @@
<label class="md-nav__link" for="__nav_12" id="__nav_12_label" tabindex="0">
11. 排序算法
11. &nbsp; &nbsp; 排序算法
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_12_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_12">
<span class="md-nav__icon md-icon"></span>
11. 排序算法
11. &nbsp; &nbsp; 排序算法
</label>
<ul class="md-nav__list" data-md-scrollfix>
@@ -1425,7 +1425,7 @@
<li class="md-nav__item">
<a href="../../chapter_sorting/intro_to_sort/" class="md-nav__link">
11.1. 排序简介
11.1. &nbsp; 排序简介
</a>
</li>
@@ -1439,7 +1439,7 @@
<li class="md-nav__item">
<a href="../../chapter_sorting/bubble_sort/" class="md-nav__link">
11.2. 冒泡排序
11.2. &nbsp; 冒泡排序
</a>
</li>
@@ -1453,7 +1453,7 @@
<li class="md-nav__item">
<a href="../../chapter_sorting/insertion_sort/" class="md-nav__link">
11.3. 插入排序
11.3. &nbsp; 插入排序
</a>
</li>
@@ -1467,7 +1467,7 @@
<li class="md-nav__item">
<a href="../../chapter_sorting/quick_sort/" class="md-nav__link">
11.4. 快速排序
11.4. &nbsp; 快速排序
</a>
</li>
@@ -1481,7 +1481,7 @@
<li class="md-nav__item">
<a href="../../chapter_sorting/merge_sort/" class="md-nav__link">
11.5. 归并排序
11.5. &nbsp; 归并排序
</a>
</li>
@@ -1495,7 +1495,7 @@
<li class="md-nav__item">
<a href="../../chapter_sorting/summary/" class="md-nav__link">
11.6. 小结
11.6. &nbsp; 小结
</a>
</li>
@@ -1583,10 +1583,10 @@
<li class="md-nav__item">
<a href="#731" class="md-nav__link">
7.3.1. 二叉搜索树的操作
7.3.1. &nbsp; 二叉搜索树的操作
</a>
<nav class="md-nav" aria-label="7.3.1. 二叉搜索树的操作">
<nav class="md-nav" aria-label="7.3.1. &nbsp; 二叉搜索树的操作">
<ul class="md-nav__list">
<li class="md-nav__item">
@@ -1624,21 +1624,21 @@
<li class="md-nav__item">
<a href="#732" class="md-nav__link">
7.3.2. 二叉搜索树的效率
7.3.2. &nbsp; 二叉搜索树的效率
</a>
</li>
<li class="md-nav__item">
<a href="#733" class="md-nav__link">
7.3.3. 二叉搜索树的退化
7.3.3. &nbsp; 二叉搜索树的退化
</a>
</li>
<li class="md-nav__item">
<a href="#734" class="md-nav__link">
7.3.4. 二叉搜索树常见应用
7.3.4. &nbsp; 二叉搜索树常见应用
</a>
</li>
@@ -1667,14 +1667,14 @@
<h1 id="73">7.3. 二叉搜索树<a class="headerlink" href="#73" title="Permanent link">&para;</a></h1>
<h1 id="73">7.3. &nbsp; 二叉搜索树<a class="headerlink" href="#73" title="Permanent link">&para;</a></h1>
<p>「二叉搜索树 Binary Search Tree」满足以下条件</p>
<ol>
<li>对于根结点,左子树中所有结点的值 <span class="arithmatex">\(&lt;\)</span> 根结点的值 <span class="arithmatex">\(&lt;\)</span> 右子树中所有结点的值;</li>
<li>任意结点的左子树和右子树也是二叉搜索树,即也满足条件 <code>1.</code> </li>
</ol>
<p><img alt="binary_search_tree" src="../binary_search_tree.assets/binary_search_tree.png" /></p>
<h2 id="731">7.3.1. 二叉搜索树的操作<a class="headerlink" href="#731" title="Permanent link">&para;</a></h2>
<h2 id="731">7.3.1. &nbsp; 二叉搜索树的操作<a class="headerlink" href="#731" title="Permanent link">&para;</a></h2>
<h3 id="_1">查找结点<a class="headerlink" href="#_1" title="Permanent link">&para;</a></h3>
<p>给定目标结点值 <code>num</code> ,可以根据二叉搜索树的性质来查找。我们声明一个结点 <code>cur</code> ,从二叉树的根结点 <code>root</code> 出发,循环比较结点值 <code>cur.val</code><code>num</code> 之间的大小关系</p>
<ul>
@@ -2741,7 +2741,7 @@
<p>我们知道,「中序遍历」遵循“左 <span class="arithmatex">\(\rightarrow\)</span><span class="arithmatex">\(\rightarrow\)</span> 右”的遍历优先级,而二叉搜索树遵循“左子结点 <span class="arithmatex">\(&lt;\)</span> 根结点 <span class="arithmatex">\(&lt;\)</span> 右子结点”的大小关系。因此,在二叉搜索树中进行中序遍历时,总是会优先遍历下一个最小结点,从而得出一条重要性质:<strong>二叉搜索树的中序遍历序列是升序的</strong></p>
<p>借助中序遍历升序的性质,我们在二叉搜索树中获取有序数据仅需 <span class="arithmatex">\(O(n)\)</span> 时间,而无需额外排序,非常高效。</p>
<p><img alt="bst_inorder_traversal" src="../binary_search_tree.assets/bst_inorder_traversal.png" /></p>
<h2 id="732">7.3.2. 二叉搜索树的效率<a class="headerlink" href="#732" title="Permanent link">&para;</a></h2>
<h2 id="732">7.3.2. &nbsp; 二叉搜索树的效率<a class="headerlink" href="#732" title="Permanent link">&para;</a></h2>
<p>假设给定 <span class="arithmatex">\(n\)</span> 个数字,最常用的存储方式是「数组」,那么对于这串乱序的数字,常见操作的效率为:</p>
<ul>
<li><strong>查找元素</strong>:由于数组是无序的,因此需要遍历数组来确定,使用 <span class="arithmatex">\(O(n)\)</span> 时间;</li>
@@ -2795,7 +2795,7 @@
</tbody>
</table>
</div>
<h2 id="733">7.3.3. 二叉搜索树的退化<a class="headerlink" href="#733" title="Permanent link">&para;</a></h2>
<h2 id="733">7.3.3. &nbsp; 二叉搜索树的退化<a class="headerlink" href="#733" title="Permanent link">&para;</a></h2>
<p>理想情况下,我们希望二叉搜索树的是“左右平衡”的(详见「平衡二叉树」章节),此时可以在 <span class="arithmatex">\(\log n\)</span> 轮循环内查找任意结点。</p>
<p>如果我们动态地在二叉搜索树中插入与删除结点,<strong>则可能导致二叉树退化为链表</strong>,此时各种操作的时间复杂度也退化之 <span class="arithmatex">\(O(n)\)</span></p>
<div class="admonition note">
@@ -2803,7 +2803,7 @@
<p>在实际应用中,如何保持二叉搜索树的平衡,也是一个需要重要考虑的问题。</p>
</div>
<p><img alt="bst_degradation" src="../binary_search_tree.assets/bst_degradation.png" /></p>
<h2 id="734">7.3.4. 二叉搜索树常见应用<a class="headerlink" href="#734" title="Permanent link">&para;</a></h2>
<h2 id="734">7.3.4. &nbsp; 二叉搜索树常见应用<a class="headerlink" href="#734" title="Permanent link">&para;</a></h2>
<ul>
<li>系统中的多级索引,高效查找、插入、删除操作。</li>
<li>各种搜索算法的底层数据结构。</li>
@@ -2886,7 +2886,7 @@
<nav class="md-footer__inner md-grid" aria-label="页脚" >
<a href="../binary_tree_traversal/" class="md-footer__link md-footer__link--prev" aria-label="上一页: 7.2. 二叉树遍历" rel="prev">
<a href="../binary_tree_traversal/" class="md-footer__link md-footer__link--prev" aria-label="上一页: 7.2. &amp;nbsp; 二叉树遍历" rel="prev">
<div class="md-footer__button md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg>
</div>
@@ -2895,20 +2895,20 @@
<span class="md-footer__direction">
上一页
</span>
7.2. 二叉树遍历
7.2. &nbsp; 二叉树遍历
</div>
</div>
</a>
<a href="../avl_tree/" class="md-footer__link md-footer__link--next" aria-label="下一页: 7.4. AVL 树 *" rel="next">
<a href="../avl_tree/" class="md-footer__link md-footer__link--next" aria-label="下一页: 7.4. &amp;nbsp; AVL 树 *" rel="next">
<div class="md-footer__title">
<div class="md-ellipsis">
<span class="md-footer__direction">
下一页
</span>
7.4. AVL 树 *
7.4. &nbsp; AVL 树 *
</div>
</div>
<div class="md-footer__button md-icon">