mirror of
https://github.com/krahets/hello-algo.git
synced 2026-04-08 13:21:19 +08:00
deploy
This commit is contained in:
@@ -15,7 +15,7 @@
|
||||
<link rel="canonical" href="https://www.hello-algo.com/chapter_tree/binary_search_tree/">
|
||||
|
||||
|
||||
<link rel="prev" href="../binary_tree_traversal/">
|
||||
<link rel="prev" href="../array_representation_of_tree/">
|
||||
|
||||
|
||||
<link rel="next" href="../avl_tree/">
|
||||
@@ -25,7 +25,7 @@
|
||||
|
||||
|
||||
|
||||
<title>8.3. 二叉搜索树 - Hello 算法</title>
|
||||
<title>8.4. 二叉搜索树 - Hello 算法</title>
|
||||
|
||||
|
||||
|
||||
@@ -79,7 +79,7 @@
|
||||
<div data-md-component="skip">
|
||||
|
||||
|
||||
<a href="#83" class="md-skip">
|
||||
<a href="#84" class="md-skip">
|
||||
跳转至
|
||||
</a>
|
||||
|
||||
@@ -113,7 +113,7 @@
|
||||
<div class="md-header__topic" data-md-component="header-topic">
|
||||
<span class="md-ellipsis">
|
||||
|
||||
8.3. 二叉搜索树
|
||||
8.4. 二叉搜索树
|
||||
|
||||
</span>
|
||||
</div>
|
||||
@@ -983,6 +983,8 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<label class="md-nav__link" for="__nav_9" id="__nav_9_label" tabindex="0">
|
||||
@@ -1029,6 +1031,20 @@
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../array_representation_of_tree/" class="md-nav__link">
|
||||
8.3. 二叉树数组表示
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1041,12 +1057,12 @@
|
||||
|
||||
|
||||
<label class="md-nav__link md-nav__link--active" for="__toc">
|
||||
8.3. 二叉搜索树
|
||||
8.4. 二叉搜索树
|
||||
<span class="md-nav__icon md-icon"></span>
|
||||
</label>
|
||||
|
||||
<a href="./" class="md-nav__link md-nav__link--active">
|
||||
8.3. 二叉搜索树
|
||||
8.4. 二叉搜索树
|
||||
</a>
|
||||
|
||||
|
||||
@@ -1065,11 +1081,11 @@
|
||||
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#831" class="md-nav__link">
|
||||
8.3.1. 二叉搜索树的操作
|
||||
<a href="#841" class="md-nav__link">
|
||||
8.4.1. 二叉搜索树的操作
|
||||
</a>
|
||||
|
||||
<nav class="md-nav" aria-label="8.3.1. 二叉搜索树的操作">
|
||||
<nav class="md-nav" aria-label="8.4.1. 二叉搜索树的操作">
|
||||
<ul class="md-nav__list">
|
||||
|
||||
<li class="md-nav__item">
|
||||
@@ -1106,15 +1122,15 @@
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#832" class="md-nav__link">
|
||||
8.3.2. 二叉搜索树的效率
|
||||
<a href="#842" class="md-nav__link">
|
||||
8.4.2. 二叉搜索树的效率
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#833" class="md-nav__link">
|
||||
8.3.3. 二叉搜索树常见应用
|
||||
<a href="#843" class="md-nav__link">
|
||||
8.4.3. 二叉搜索树常见应用
|
||||
</a>
|
||||
|
||||
</li>
|
||||
@@ -1135,7 +1151,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../avl_tree/" class="md-nav__link">
|
||||
8.4. AVL 树 *
|
||||
8.5. AVL 树 *
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1149,7 +1165,7 @@
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="../summary/" class="md-nav__link">
|
||||
8.5. 小结
|
||||
8.6. 小结
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -1822,11 +1838,11 @@
|
||||
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#831" class="md-nav__link">
|
||||
8.3.1. 二叉搜索树的操作
|
||||
<a href="#841" class="md-nav__link">
|
||||
8.4.1. 二叉搜索树的操作
|
||||
</a>
|
||||
|
||||
<nav class="md-nav" aria-label="8.3.1. 二叉搜索树的操作">
|
||||
<nav class="md-nav" aria-label="8.4.1. 二叉搜索树的操作">
|
||||
<ul class="md-nav__list">
|
||||
|
||||
<li class="md-nav__item">
|
||||
@@ -1863,15 +1879,15 @@
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#832" class="md-nav__link">
|
||||
8.3.2. 二叉搜索树的效率
|
||||
<a href="#842" class="md-nav__link">
|
||||
8.4.2. 二叉搜索树的效率
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#833" class="md-nav__link">
|
||||
8.3.3. 二叉搜索树常见应用
|
||||
<a href="#843" class="md-nav__link">
|
||||
8.4.3. 二叉搜索树常见应用
|
||||
</a>
|
||||
|
||||
</li>
|
||||
@@ -1899,7 +1915,7 @@
|
||||
|
||||
|
||||
|
||||
<h1 id="83">8.3. 二叉搜索树<a class="headerlink" href="#83" title="Permanent link">¶</a></h1>
|
||||
<h1 id="84">8.4. 二叉搜索树<a class="headerlink" href="#84" title="Permanent link">¶</a></h1>
|
||||
<p>「二叉搜索树 Binary Search Tree」满足以下条件:</p>
|
||||
<ol>
|
||||
<li>对于根节点,左子树中所有节点的值 <span class="arithmatex">\(<\)</span> 根节点的值 <span class="arithmatex">\(<\)</span> 右子树中所有节点的值;</li>
|
||||
@@ -1908,7 +1924,7 @@
|
||||
<p><img alt="二叉搜索树" src="../binary_search_tree.assets/binary_search_tree.png" /></p>
|
||||
<p align="center"> Fig. 二叉搜索树 </p>
|
||||
|
||||
<h2 id="831">8.3.1. 二叉搜索树的操作<a class="headerlink" href="#831" title="Permanent link">¶</a></h2>
|
||||
<h2 id="841">8.4.1. 二叉搜索树的操作<a class="headerlink" href="#841" title="Permanent link">¶</a></h2>
|
||||
<h3 id="_1">查找节点<a class="headerlink" href="#_1" title="Permanent link">¶</a></h3>
|
||||
<p>给定目标节点值 <code>num</code> ,可以根据二叉搜索树的性质来查找。我们声明一个节点 <code>cur</code> ,从二叉树的根节点 <code>root</code> 出发,循环比较节点值 <code>cur.val</code> 和 <code>num</code> 之间的大小关系</p>
|
||||
<ul>
|
||||
@@ -2912,7 +2928,7 @@
|
||||
<p><img alt="二叉搜索树的中序遍历序列" src="../binary_search_tree.assets/bst_inorder_traversal.png" /></p>
|
||||
<p align="center"> Fig. 二叉搜索树的中序遍历序列 </p>
|
||||
|
||||
<h2 id="832">8.3.2. 二叉搜索树的效率<a class="headerlink" href="#832" title="Permanent link">¶</a></h2>
|
||||
<h2 id="842">8.4.2. 二叉搜索树的效率<a class="headerlink" href="#842" title="Permanent link">¶</a></h2>
|
||||
<p>给定一组数据,我们考虑使用数组或二叉搜索树存储。</p>
|
||||
<p>观察可知,二叉搜索树的各项操作的时间复杂度都是对数阶,具有稳定且高效的性能表现。只有在高频添加、低频查找删除的数据适用场景下,数组比二叉搜索树的效率更高。</p>
|
||||
<div class="center-table">
|
||||
@@ -2948,7 +2964,7 @@
|
||||
<p><img alt="二叉搜索树的平衡与退化" src="../binary_search_tree.assets/bst_degradation.png" /></p>
|
||||
<p align="center"> Fig. 二叉搜索树的平衡与退化 </p>
|
||||
|
||||
<h2 id="833">8.3.3. 二叉搜索树常见应用<a class="headerlink" href="#833" title="Permanent link">¶</a></h2>
|
||||
<h2 id="843">8.4.3. 二叉搜索树常见应用<a class="headerlink" href="#843" title="Permanent link">¶</a></h2>
|
||||
<ul>
|
||||
<li>用作系统中的多级索引,实现高效的查找、插入、删除操作。</li>
|
||||
<li>作为某些搜索算法的底层数据结构。</li>
|
||||
@@ -3031,7 +3047,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="上一页: 8.2. &nbsp; 二叉树遍历" rel="prev">
|
||||
<a href="../array_representation_of_tree/" class="md-footer__link md-footer__link--prev" aria-label="上一页: 8.3. &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>
|
||||
@@ -3040,20 +3056,20 @@
|
||||
上一页
|
||||
</span>
|
||||
<div class="md-ellipsis">
|
||||
8.2. 二叉树遍历
|
||||
8.3. 二叉树数组表示
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
<a href="../avl_tree/" class="md-footer__link md-footer__link--next" aria-label="下一页: 8.4. &nbsp; AVL 树 *" rel="next">
|
||||
<a href="../avl_tree/" class="md-footer__link md-footer__link--next" aria-label="下一页: 8.5. &nbsp; AVL 树 *" rel="next">
|
||||
<div class="md-footer__title">
|
||||
<span class="md-footer__direction">
|
||||
下一页
|
||||
</span>
|
||||
<div class="md-ellipsis">
|
||||
8.4. AVL 树 *
|
||||
8.5. AVL 树 *
|
||||
</div>
|
||||
</div>
|
||||
<div class="md-footer__button md-icon">
|
||||
|
||||
Reference in New Issue
Block a user