並べ替えられていないリストで何かを調べることは、時間の複雑さ伴うタスクです。ただし、リストがソートされている場合、時間の複雑さはです。つまり、配列を並べ替える価値がある場合があります。ただし、ソートアルゴリズムの時間の複雑さはであるため、これはトレードオフです。
私の知る限り、配列を 時間未満でソートすることはできません。しかし、それよりも短い時間で部分的に配列をソートできるアルゴリズムがあるかどうか疑問に思っていますか?私はあなたが時間でそのような部分的にソートされた配列の値を検索できないと確信していますが、よりもうまくできますか?
つまり、よりも高速なアルゴリズムでソートされていない配列を処理して、ルックアップアルゴリズムがよりも高速に検索できるようにすることは可能ですが、ほど高速ではありません?
私は、どこかに非常に基本的なエラーや誤解があるかもしれないことを知っています。私はコンピュータサイエンスを勉強したことがないので、表記に慣れていません。
—
SE-
リストは時間でソートできます。
—
Rick Decker
正確に何を探しているのかは少しわかりませんが、クイックソート-中央ピボットバージョンを使用します(中央オーバーヘッドと引き換えにnlognで動作することが保証されています。これで、手順の半分を実行できます。これにより、データはパーティション化され、すべてのパーティション要素はソートされたインデックスから遠くないですが、ルックアップ中にパーティションをトラバースする必要があります
—
Evil
「部分的にソートされた」という意味を正確に定義してください。文献には、ソートの概念について多くの競合する概念があります。
—
ラファエル
「それはより速くアルゴリズムでソートされていない配列を処理することができる
—
Mooing Duck 2016
O(nlog(n))
検索アルゴリズムは、より高速検索を行うことができるようなO(n)
たぶん」。「部分ソートは配列のルックアップコストに役立ちますか?」絶対にありません(1回の検索の場合)。