クイックソートを学んでいます。ピボット値が不均衡なパーティションを実行すると、クイック ソートのパフォーマンスが低下することを私は知っています。そのため、最初の要素または最後の要素は適切な選択ではありません。リストがほとんど並べ替えられている場合、パーティションのバランスが崩れるからです。
検索したところ、2つのオプションが見つかりました:
1 つは、低(最低のインデックス) とアップ(最高のインデックス)の間でピボットをランダムに選択することでした。これは安全なオプションのようですが、乱数ジェネレーターは時間がかかります。
2 つ目は、すべての要素の中央値を取ることです。このオプションはコストがかかるため、最初、最後、および中間要素の中央値をピボット要素として使用できます。
クイックソートで最も効率的であることが判明した方法はどれですか?.ピボット要素を選択するために利用できる他の方法はありますか?