mirror of
https://github.com/krahets/hello-algo.git
synced 2026-08-18 22:40:59 +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> の浮動小数点数であるとします。バケットソートの流れを以下の図に示します。</p>
|
||||
|
||||
Reference in New Issue
Block a user