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
+1 -1
View File
@@ -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>:次の図のように、要素 <code>nums[i]</code> がそれと等しい要素の右側へ交換され、両者の相対的な順序が変わる可能性があります。</li>
</ul>