Motivation
Coddyの「クイックソート - DSAシリーズ」コースのレッスン 2/9。
クイックソートは、ピボットを選択し、その周りで配列をパーティショニング(分割)することで動作します。小さい値は一方に、大きい値はもう一方に移動させます。その後、各サイドを同じ方法でソートします。
なぜクイックソートを学ぶのか?
- 実用面で高速: 平均して O(n log n) の時間で動作し、他の O(n log n) ソートよりも高速な場合が多いです。
- 広く利用されている: 多くの標準ライブラリのソート関数は、クイックソートまたはその変種に基づいています。
- 分割統治法: 多くの高度なアルゴリズムで使用されるパターンを強化します。
- ピボットの重要性: ピボットという単一の設計上の選択が、パフォーマンスにどのように影響するか(O(n log n) から O(n2) まで)を教えてくれます。
自分で試してみよう
このレッスンにはコードチャレンジは含まれていません。
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。