50ms
7種類のソートアルゴリズムをアニメーションで学習しよう
この「ソートアルゴリズム視覚化」アプリは、代表的な7種類のソート手法(バブルソート、選択ソート、挿入ソート、クイックソート、マージソート、ヒープソート、シェルソート)の動作をステップごとにアニメーションで視覚的に確認できるツールです。
学習やデモ用途に適しており、各手法の動作原理や性能差を直感的に比較できます。
| アルゴリズム | 最良時間 | 平均時間 | 最悪時間 | 空間計算量 | 安定性 | 特徴 |
|---|---|---|---|---|---|---|
| Bubble Sort | O(n) | O(n²) | O(n²) | O(1) | ✓ 安定 | 最も基本的、理解しやすい |
| Selection Sort | O(n²) | O(n²) | O(n²) | O(1) | ✗ 不安定 | 少ない交換回数 |
| Insertion Sort | O(n) | O(n²) | O(n²) | O(1) | ✓ 安定 | 小さなデータに効率的 |
| Quick Sort | O(n log n) | O(n log n) | O(n²) | O(log n) | ✗ 不安定 | 実用的で高速 |
| Merge Sort | O(n log n) | O(n log n) | O(n log n) | O(n) | ✓ 安定 | 最悪時間保証 |
| Heap Sort | O(n log n) | O(n log n) | O(n log n) | O(1) | ✗ 不安定 | メモリ効率良好 |
| Shell Sort | O(n log n) | O(n^1.3) | O(n²) | O(1) | ✗ 不安定 | 挿入ソートの改良版 |
| PowerSort | O(n) | O(n log n) | O(n log n) | O(n) | ✓ 安定 | Python 3.11採用 |
| pdqsort | O(n) | O(n log n) | O(n log n) | O(log n) | ✗ 不安定 | Rust標準ライブラリ採用 |
Herman Hollerthがパンチカード機械式ソート技術を開発
分割統治法による安定ソートアルゴリズムの確立
C.A.R. Hoareによる分割統治法の革新的実装
PythonとJavaで採用された実用的ハイブリッドソート
Python 3.11で採用された理論的に最適なマージポリシー