mirror of
https://github.com/krahets/hello-algo.git
synced 2026-04-14 02:10:37 +08:00
deploy
This commit is contained in:
@@ -3665,10 +3665,10 @@
|
||||
<p>另一方面,<strong>展开完整测试非常耗费资源</strong>。随着输入数据量的变化,算法会表现出不同的效率。例如,在输入数据量较小时,算法 <code>A</code> 的运行时间比算法 <code>B</code> 短;而在输入数据量较大时,测试结果可能恰恰相反。因此,为了得到有说服力的结论,我们需要测试各种规模的输入数据,而这需要耗费大量的计算资源。</p>
|
||||
<h2 id="212">2.1.2 理论估算<a class="headerlink" href="#212" title="Permanent link">¶</a></h2>
|
||||
<p>由于实际测试具有较大的局限性,我们可以考虑仅通过一些计算来评估算法的效率。这种估算方法被称为<u>渐近复杂度分析(asymptotic complexity analysis)</u>,简称<u>复杂度分析</u>。</p>
|
||||
<p>复杂度分析能够体现算法运行所需的时间和空间资源与输入数据大小之间的关系。<strong>它描述了随着输入数据大小的增加,算法执行所需时间和空间的增长趋势</strong>。这个定义有些拗口,我们可以将其分为三个重点来理解。</p>
|
||||
<p>复杂度分析能够体现算法运行所需的时间和空间资源与输入数据规模之间的关系。<strong>它描述了随着输入数据规模的增加,算法执行所需时间和空间的增长趋势</strong>。这个定义有些拗口,我们可以将其分为三个重点来理解。</p>
|
||||
<ul>
|
||||
<li>“时间和空间资源”分别对应<u>时间复杂度(time complexity)</u>和<u>空间复杂度(space complexity)</u>。</li>
|
||||
<li>“随着输入数据大小的增加”意味着复杂度反映了算法运行效率与输入数据体量之间的关系。</li>
|
||||
<li>“随着输入数据规模的增加”意味着复杂度反映了算法运行效率与输入数据规模之间的关系。</li>
|
||||
<li>“时间和空间的增长趋势”表示复杂度分析关注的不是运行时间或占用空间的具体值,而是时间或空间增长的“快慢”。</li>
|
||||
</ul>
|
||||
<p><strong>复杂度分析克服了实际测试方法的弊端</strong>,体现在以下几个方面。</p>
|
||||
|
||||
Reference in New Issue
Block a user