「基数ソート」の版間の差分
削除された内容 追加された内容
Luckas-bot (会話 | 投稿記録) m r2.7.1) (ロボットによる 追加: hy:Կարգային տեսակավորում |
m +ref |
||
6行目:
|space=<math>O(kN)</math>
|optimal=exactly correct
}}'''基数ソート'''は、[[ソート]]の[[アルゴリズム]]の一つ。計算時間は[[ランダウの記号|O]](nk)と高速
==前提条件==
14行目:
(1)入力の数列は、いくつかのキーに分類する。例えば、3桁の数字であれば、1の位・10の位・100の位に分けて分類する。
(2)それぞれのキーについて、下位のキーからソートする。この際、値の範囲が有限であることから[[バケットソート]]が効率的である<ref name="algo" />。(ここで、O(n)でないソートアルゴリズムを用いると、全体の計算時間が O(nk)でなくなることに注意。また、[[安定ソート|安定]]なソートでなければならない。)
たとえば、
39行目:
コンピュータ以外での応用に、周辺部に穴の開いた紙カードの、穴から外側の部分の紙を情報に応じて切り欠いたもの([[パンチカード#ハンドソート・パンチカード・システム]])のソート方法、というものがある。
穴の場所に串を通し持ち上げると、その穴のところを切り欠いたカードが残り切り欠いてないカードが選び出される。そうして選び出したカードを片側に寄せる。[[二進法]]の下の桁からこの操作を繰り返すと、基数ソートになる。
== 脚注 ==
{{脚注ヘルプ}}
{{reflist}}
==関連項目==
|