This commit is contained in:
krahets
2023-05-24 16:35:41 +08:00
parent 530bcf9a44
commit b2e68ade25
66 changed files with 2077 additions and 155 deletions

View File

@ -1504,7 +1504,7 @@
<li class="md-nav__item">
<a href="../../chapter_sorting/selection_sort/" class="md-nav__link">
11.2. &nbsp; 选择排序
11.2. &nbsp; 选择排序(New)
</a>
</li>
@ -1906,7 +1906,12 @@
<h1 id="104">10.4. &nbsp; 重识搜索算法<a class="headerlink" href="#104" title="Permanent link">&para;</a></h1>
<p>「搜索算法 Searching Algorithm」用于在数据结构例如数组、链表、树或图中搜索一个或一组满足特定条件的元素。</p>
<p>在前面的章节中,我们已经学习了数组、链表、树和图的遍历方法,也了解过哈希表和二叉搜索树等具有查询功能的复杂数据结构。因此,搜索算法对于我们来说并不陌生。在本节,我们将从更加系统的视角切入,重新审视搜索算法。</p>
<p>根据实现思路,搜索算法总体可分为两种:</p>
<ul>
<li><strong>通过遍历数据结构来定位目标元素</strong>,例如数组、链表、树和图的遍历等。</li>
<li><strong>利用数据组织结构或数据包含的先验信息,实现高效元素查找</strong>,例如二分查找、哈希查找和二叉搜索树查找等。</li>
</ul>
<p>不难发现,这些知识点都已在前面的章节中介绍过,因此搜索算法对于我们来说并不陌生。在本节中,我们将从更加系统的视角切入,重新审视搜索算法。</p>
<h2 id="1041">10.4.1. &nbsp; 暴力搜索<a class="headerlink" href="#1041" title="Permanent link">&para;</a></h2>
<p>暴力搜索通过遍历数据结构的每个元素来定位目标元素。</p>
<ul>