This commit is contained in:
krahets
2026-08-18 03:09:26 +08:00
parent 0375f25b66
commit fde23f369e
158 changed files with 312 additions and 282 deletions
@@ -4937,7 +4937,7 @@
</details>
<h2 id="1121">11.2.1 &nbsp; 演算法特性<a class="headerlink" href="#1121" title="Permanent link">&para;</a></h2>
<ul>
<li><strong>時間複雜度為 <span class="arithmatex">\(O(n^2)\)</span>、非自適應排序</strong>:外迴圈共 <span class="arithmatex">\(n - 1\)</span> 輪,第一輪的未排序區間長度為 <span class="arithmatex">\(n\)</span> ,最後一輪的未排序區間長度為 <span class="arithmatex">\(2\)</span> ,即各輪迴圈分別包含 <span class="arithmatex">\(n\)</span><span class="arithmatex">\(n - 1\)</span><span class="arithmatex">\(\dots\)</span><span class="arithmatex">\(3\)</span><span class="arithmatex">\(2\)</span> 輪內迴圈,求和為 <span class="arithmatex">\(\frac{(n - 1)(n + 2)}{2}\)</span></li>
<li><strong>時間複雜度為 <span class="arithmatex">\(O(n^2)\)</span>、非自適應排序</strong>:外迴圈共 <span class="arithmatex">\(n - 1\)</span> 輪,第一輪內迴圈執行 <span class="arithmatex">\(n - 1\)</span> ,最後一輪執行 <span class="arithmatex">\(1\)</span> ,即各輪迴圈分別執行 <span class="arithmatex">\(n - 1\)</span><span class="arithmatex">\(n - 2\)</span><span class="arithmatex">\(\dots\)</span><span class="arithmatex">\(2\)</span><span class="arithmatex">\(1\)</span> ,求和為 <span class="arithmatex">\(\frac{n(n - 1)}{2}\)</span></li>
<li><strong>空間複雜度為 <span class="arithmatex">\(O(1)\)</span>、原地排序</strong>:指標 <span class="arithmatex">\(i\)</span><span class="arithmatex">\(j\)</span> 使用常數大小的額外空間。</li>
<li><strong>非穩定排序</strong>:如圖 11-3 所示,元素 <code>nums[i]</code> 有可能被交換至與其相等的元素的右邊,導致兩者的相對順序發生改變。</li>
</ul>