並べ替えアルゴリズムは長い期間にわたって進化しており、その結果多くの異なる方法が生まれました。初心者にとっては、理解しやすく覚えやすいように整理することが非常に重要です。各アルゴリズムには特定の使用機会があり、普遍的であることは困難です。したがって、一般的な並べ替えアルゴリズムをすべて要約する必要があります。
大規模なソートのソートは、内部ソートと外部ソートの2つのタイプに分類できます。ソーティングプロセスでは、すべてのレコードがメモリに格納されます(内部ソーティングと呼ばれます)。ソーティングプロセスで外部ストレージが使用されている場合は、外部ソーティングと呼ばれます。次のソートはすべて内部のソートです。
内部ソートは、次のカテゴリに分類できます。
(1)挿入選別:直接挿入選別、二分法挿入選別、ヒル選別。
(2)、選択ソート:直接選択ソート、ヒープソート。
(3)交換ソーティング:バブルソーティングとクイックソーティング。
(4)、マージソート
(5)、カーディナリティー・ソーティング
表形式:
選別方法 | 時間の複雑さ(平均) | 時間の複雑さ(最悪) | 時間の複雑さ(最高) | スペースの複雑さ | 安定性 | 複雑さ |
---|---|---|---|---|---|---|
直接挿入ソート | O (n 2 )O(n2) | O (n 2 )O(n2) | O (n )O(n) | O (1 )O(1) | 安定した | シンプルな |
ヒルソート | O (n l o g 2 n )O(nlog2n) | O (n 2 )O(n2) | O (n )O(n) | O (1 )O(1) | 不安定 | より複雑 |
直接選択ソート | O (n 2 )O(n2) | O (n 2 )O(n2) | O (n 2 )O(n2) | O (1 )O(1) | 不安定 | シンプルな |
ヒープソート | O (n l o g 2 n )O(nlog2n) | O (n l o g 2 n )O(nlog2n) | O (n l o g 2 n )O(nlog2n) | O (1 )O(1) | 不安定 | より複雑 |
バブルソート | O (n 2 )O(n2) | O (n 2 )O(n2) | O (n )O(n) | O (1 )O(1) | 安定した | シンプルな |
クイックソート | O (n l o g 2 n )O(nlog2n) | O (n 2 )O(n2) | O (n l o g 2 n )O(nlog2n) | O (n l o g 2 n )O(nlog2n) | 不安定 | より複雑 |
マージソート | O (n l o g 2 n )O(nlog2n) | O (n l o g 2 n )O(nlog2n) | O (n l o g 2 n )O(nlog2n) | O (n )O(n) | 安定した | より複雑 |
カーディナリティの並べ替え | O (d (n + r ))O(d(n + r)) | O (d (n + r ))O(d(n + r)) | O (d (n + r ))O(d(n + r)) | O (n + r )O(n + r) | 安定した | より複雑 |
画像バージョン: