mirror of
https://github.com/krahets/hello-algo.git
synced 2026-09-01 12:47:14 +00:00
deploy
This commit is contained in:
@@ -4674,7 +4674,7 @@
|
||||
|
||||
<!-- Page content -->
|
||||
<h1 id="118">11.8 桶排序<a class="headerlink" href="#118" title="Permanent link">¶</a></h1>
|
||||
<p>前述幾種排序演算法都屬於“基於比較的排序演算法”,它們透過比較元素間的大小來實現排序。此類排序演算法的時間複雜度無法超越 <span class="arithmatex">\(O(n \log n)\)</span> 。接下來,我們將探討幾種“非比較排序演算法”,它們的時間複雜度可以達到線性階。</p>
|
||||
<p>前述幾種排序演算法都屬於“基於比較的排序演算法”,它們透過比較元素間的大小來實現排序。此類排序演算法在最壞情況下的時間複雜度下界為 <span class="arithmatex">\(\Omega(n \log n)\)</span> 。接下來,我們將探討幾種“非比較排序演算法”,它們的時間複雜度可以達到線性階。</p>
|
||||
<p><u>桶排序(bucket sort)</u>是分治策略的一個典型應用。它透過設定一些具有大小順序的桶,每個桶對應一個數據範圍,將資料平均分配到各個桶中;然後,在每個桶內部分別執行排序;最終按照桶的順序將所有資料合併。</p>
|
||||
<h2 id="1181">11.8.1 演算法流程<a class="headerlink" href="#1181" title="Permanent link">¶</a></h2>
|
||||
<p>考慮一個長度為 <span class="arithmatex">\(n\)</span> 的陣列,其元素是範圍 <span class="arithmatex">\([0, 1)\)</span> 內的浮點數。桶排序的流程如圖 11-13 所示。</p>
|
||||
|
||||
Reference in New Issue
Block a user