並べ替えられた行列から並べ替えられたリストを取得できますか?


9

よくわかりません。私は、ソートの問題ということを証明したいすることによりn個のマトリックスすなわち行と列が昇順であるがΩ nは2対数N 。私はそれがn 2 log nよりも高速に実行できると想定して続行し、 m要素のソートに必要な比較のためにログm )の下限に違反しようとします。私には2つの矛盾する答えがあります。nnΩ(n2logn)n2lognlog(m!)

  1. O n 2)の並べ替えられた行列から要素の並べ替えられたリストを取得できます/math/298191/lower-bound-for-matrix-sorting/298199?iemail=1 #298199n2O(n2)
  2. あなたはより速くマトリックスからソートされたリストを取得することはできません/programming/4279524/how-to-sort-amxn-matrix-which-has- all-its-m-rows-sorted-and-n-columns-sortedΩ(n2log(n))

どちらが正しいですか?


6
余談ですが、「並べ替えは」という主張を目にしたとき、私はイライラしますが、入力モデルと計算モデルを指定していません。比較ソートはです。一般に、並べ替えは、たとえば文字列(が合計入力長の場合)または整数(一定時間の整数算術演算を許可する特定の計算モデル)の場合よりも速くなる可能性があります。Ω(nlogn)Ω(nlogn)n
David Eppstein

3
比較ソートは:より一層杓子定規されるべきではない 比較選別から関数ではないので、に。並べ替えには、バイナリ比較ツリーモデルでは(比較だけでなく時間必要です。Ω(nlogn)RRΩ(nlogn)
Jeffε

回答:


15

下限は正しいです(2)-よりもこれを行うことはできず、(1)はもちろん間違っています。まず、並べ替えられた行列とは何かを定義しましょう。これは、各行と列の要素が昇順で並べ替えられた行列です。Ω(n2logn)

各対角線に任意の順序の要素が含まれている可能性があることを簡単に確認できるようになりました-十分に大きくする必要があるだけです。特に、行列の並べ替えは、これらの対角線のそれぞれを並べ替えることを意味します。番目の対角を持っているのエントリを、そのように可能な注文。そのため、ソートされた行列は、少なくとも定義できます 異なる順序。であることを確認するのは簡単です。これは、比較モデル(およびJeffが以下に示すように、バイナリー決定ツリーモデル)では、少なくともこれが下限であることを意味しますソート時間。iii!X=i=1ni!log2X=Ω(n2logn)


3
繰り返しになりますが、比較だけでなく、あらゆる二分決定木モデルでも同様です。
Jeffε
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.