隣人を比較せずにリストのソートを検証できますか?


14

その隣人にすべてのアイテムを比較することにより、ソートされたよう-itemリストを確認することができます。私のアプリケーションでは、すべてのアイテムをその隣のアイテムと比較することはできません。代わりに、遠くの要素間で比較することがあります。リストに3つ以上の項目が含まれ、また比較がサポートされる唯一の操作であることを考えると、リストがソートされていることを証明する比較の「ネットワーク」が存在しますが、少なくとも1つの隣接する近隣が欠落しています比較?n

正式には、要素シーケンスに対して、、、またはかどうかを知っているインデックスのペアがあります。比較のセットから欠落しているペアが存在します。それでは、シーケンスがソートされていることを証明することは可能ですか?ei(j,k)ej>ekej=ekej<ek(l,l+1)


1
リストを確認できるかどうかという質問で、誰かが後でこのページを見つけた場合の注意は、何も比較せずにソートされます。入力に制限を加えることができる場合、および/または入力の形状について何かを知っている場合のみ。(例:基数ソート)。
HammerN'Songs

ただし、並べ替えられていない場合に使用される比較の数を最適化する可能性があります。
累積

1
@Acccumulation実際にそのような可能性はありますか?このようなプログラムを使用して、プログラムにn-1回の比較を強制する長さnの敵対リストを作成するのは簡単です。QuickSortのキラーアドバタイズも参照してください。このアイデアは、さらにクイックソートを漸近分析の悪い部分に押し込むことになります。
ダニエルワーグナー

@DanielWagnerはい、そのような最適化は、特定のアプリケーションの予想される入力に関して実行する必要があります。
蓄積

おそらく不可能です。ただし、明確にしてください:一般的な(j、k)ではなく、フォーム(j、j + 1)の比較のみを知っているということですか?たとえば、インデックスの2つの項目(j、j + 3)の比較を知っていますか?
ロン

回答:


34

それは不可能です。ペアを除くすべての比較の結果があると仮定します。次に、次の2つのケースを区別できなくなります: (i,i+1)

1,2,,i1,i,i+1,i+2,,n1,2,,i1,i+1,i,i+2,,n

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.