This commit is contained in:
krahets
2023-08-27 23:41:10 +08:00
parent 8c9cf3f087
commit 016f13d882
66 changed files with 262 additions and 270 deletions

View File

@ -3970,8 +3970,8 @@
</div>
<h2 id="1133">11.3.3 &nbsp; 算法特性<a class="headerlink" href="#1133" 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 - 2\)</span> , <span class="arithmatex">\(\dots\)</span> , <span class="arithmatex">\(2\)</span> , <span class="arithmatex">\(1\)</span> ,总和为 <span class="arithmatex">\((n - 1) n / 2\)</span> 。在引入 <code>flag</code> 优化后,最佳时间复杂度可达到 <span class="arithmatex">\(O(n)\)</span></li>
<li><strong>空间复杂度为 <span class="arithmatex">\(O(1)\)</span> 、原地排序</strong>:指针 <span class="arithmatex">\(i\)</span> , <span class="arithmatex">\(j\)</span> 使用常数大小的额外空间。</li>
<li><strong>时间复杂度为 <span class="arithmatex">\(O(n^2)\)</span>、自适应排序</strong>:各轮“冒泡”遍历的数组长度依次为 <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">\((n - 1) n / 2\)</span> 。在引入 <code>flag</code> 优化后,最佳时间复杂度可达到 <span class="arithmatex">\(O(n)\)</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>:由于在“冒泡”中遇到相等元素不交换。</li>
</ul>