mirror of
https://github.com/krahets/hello-algo.git
synced 2025-07-28 04:42:48 +08:00
deploy
This commit is contained in:
@ -3439,7 +3439,7 @@
|
||||
<li>「线性搜索」适用于数组和链表等线性数据结构。它从数据结构的一端开始,逐个访问元素,直到找到目标元素或到达另一端仍没有找到目标元素为止。</li>
|
||||
<li>「广度优先搜索」和「深度优先搜索」是图和树的两种遍历策略。广度优先搜索从初始节点开始逐层搜索,由近及远地访问各个节点。深度优先搜索是从初始节点开始,沿着一条路径走到头为止,再回溯并尝试其他路径,直到遍历完整个数据结构。</li>
|
||||
</ul>
|
||||
<p>暴力搜索的优点是简单且通用性好,<strong>无需对数据做预处理和借助额外的数据结构</strong>。</p>
|
||||
<p>暴力搜索的优点是简单且通用性好,<strong>无须对数据做预处理和借助额外的数据结构</strong>。</p>
|
||||
<p>然而,<strong>此类算法的时间复杂度为 <span class="arithmatex">\(O(n)\)</span></strong> ,其中 <span class="arithmatex">\(n\)</span> 为元素数量,因此在数据量较大的情况下性能较差。</p>
|
||||
<h2 id="1052">10.5.2 自适应搜索<a class="headerlink" href="#1052" title="Permanent link">¶</a></h2>
|
||||
<p>自适应搜索利用数据的特有属性(例如有序性)来优化搜索过程,从而更高效地定位目标元素。</p>
|
||||
@ -3522,7 +3522,7 @@
|
||||
<p>除了以上表格内容,搜索算法的选择还取决于数据体量、搜索性能要求、数据查询与更新频率等。</p>
|
||||
<p><strong>线性搜索</strong></p>
|
||||
<ul>
|
||||
<li>通用性较好,无需任何数据预处理操作。假如我们仅需查询一次数据,那么其他三种方法的数据预处理的时间比线性搜索的时间还要更长。</li>
|
||||
<li>通用性较好,无须任何数据预处理操作。假如我们仅需查询一次数据,那么其他三种方法的数据预处理的时间比线性搜索的时间还要更长。</li>
|
||||
<li>适用于体量较小的数据,此情况下时间复杂度对效率影响较小。</li>
|
||||
<li>适用于数据更新频率较高的场景,因为该方法不需要对数据进行任何额外维护。</li>
|
||||
</ul>
|
||||
|
Reference in New Issue
Block a user