ソート / Radix Sort(基数ソート)

1 桁ずつ安定に並べて、
上位桁まで仕上げる。

各桁を下位から順に安定ソートしていく方法です。桁数が短い整数列などで有効です。

下位桁から処理安定ソートが必要O(d(n + k))

目次

このページの目次

このページでわかること

先に知っておくポイント

1. 1 の位だけを見る
2. 10 の位へ進む
3. 各段で順序がどう保存されるか

概要

概要

各桁を下位から順に安定ソートしていく方法です。桁数が短い整数列などで有効です。

考え方

擬似コード

for each digit from LSD to MSD
stable sort by that digit

要点

要点まとめ

最良時計算量

O(d(n + k))

平均時計算量

O(d(n + k))

最悪時計算量

O(d(n + k))

安定ソートか

はい / 内部のソートが安定なら

補足

向いている場面と注意点

ポイント

前の桁で作った順序を崩さないため、内部で安定ソートが必要です。

適用先

固定長のキーに向きます。

Counting Sort との関係

各桁の並べ替えに Counting Sort を使うのが典型です。

動きで確認

動きを見てたしかめる

ここでは「1 の位だけを見る」を見ながら、上で読んだ内容を動きと結びつけます。

注目重要候補確定

次に見る

次に見るページ

比較すると違いがわかりやすいページを先に置いています。