2

事前に並べ替えられたシーケンス内の特定の数の要素と、そのシーケンスの反転数またはピアソンの r を使用して、最適な並べ替えアルゴリズムを見つけることは可能ですか?

たとえば、事前に並べ替えられた一連の262143要素があります。

反転の最大量は、シーケンス内の要素の数によって提供されます (この仮定については、ここの 2 ページを参照(n(n-1))/2してください) したがって、この例の最大値は です。n34359345153

これで、事前に並べ替えられたシーケンスの反転の数は1299203725最大3.78%になります。私のピアソンの r は0.9941です。私の理解では、これは高い「ソート度」を持つ事前にソートされたシーケンスである必要があります (間違っている場合は修正してください)。

シーケンスの「並べ替え」を定義する方法として、反転の数と人の r への多くの参照を見つけましたが、要素と反転の数/ピアソンの r のどの並べ替えアルゴリズムが優先されるかについて、ある種の比較を取得できませんでした1。

ご協力いただきありがとうございます。

4

1 に答える 1

0

ソート アルゴリズムが比較ベースであると仮定すると、マージ ソートのような従来のソート アルゴリズムの最悪の場合の O(n log n) 時間を超えることはおそらく非常に困難です。私は、反転の数が最悪の場合の O(n^2) よりもはるかに小さい O(n log n) であると想定する必要があると思います。次に、バブル ソートのようなものは、O(n) 個の反転がある場合、O(n) 時間と同じくらい速く実行でき、要素が左隣の要素と反転を形成している限り、逆方向にスワップし続けます。

于 2015-04-16T17:25:58.520 に答える