ソートアルゴリズムの世界には、マージソート、ヒープソートなど、数多くの強力な候補が存在します。これらのアルゴリズムは、最悪の場合でも \(\Theta(n \lg n)\) という優れた性能保証を持っています。一方で、今回解説するクイックソートは、最悪のシナリオでは \(\Theta(n^2)\) という、単純なバブルソートなどと同レベルの非常に遅い実行時間となってしまいます。 それにもかかわらず、クイックソートはC言語の標準ライブラリ qsort のような多くの場面で採用され、「実用上最も高速なソートア ...