mirror of
https://github.com/krahets/hello-algo.git
synced 2026-04-26 11:32:31 +08:00
deploy
This commit is contained in:
@@ -3608,10 +3608,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