並べ替え、選択、検索などのより高度なアルゴリズムのいくつかを理解することで、いくつかの優れたブレークスルーがありました。
ただし、これが私が立ち往生しているシナリオです。
k番目に小さい要素を見つけたい値の配列では、ソートされていない場合はquickselectを使用し、ソートされている場合はバイナリ検索を使用できます。
私の理解が正しければ、ピボット/パーティション システムを介して、quickselect は、ピボットを選択することでソートされていないデータ セットを検索し、各要素をピボットと比較して低値と高値のグループを作成し、変更によってリストを再帰的にサブリストに分解します。ピボット。
これはバイナリ検索の仕組みと非常によく似ているように思えますが、なぜクイックセレクトはソートされていない値に対して機能し、バイナリ検索は機能しないのでしょうか。多くの...コスト?