中央値を計算するための正確な比較数


25

Knuthの体積III コンピュータプログラミングの技術(3.2節第5章)リスト次の表含む正確な比較の最小数を選択する必要サイズのソートされていないセットから番目に小さい要素nはすべてのために、1 T N 10。このよく知られた閉形式と共に表、V 1N = N - 1V 2N = N - 2 + N /tn1tn10V1(n)=n1、表し最も最先端技術の1976年のようにV2(n)=n2+n/2

Knuth III:5.3.2の表

過去36年間にV tn )のより正確な値が計算されましたか?私は、特に正確な値に興味がM N = V N / 2 N 、比較の最小数は、中央値を計算するために必要。Vt(n)M(n)=Vn/2(n)


MarkusBläserが指摘@として、Knuthのテーブルには、(すでにビルGasarch、ウェインケリー、そしてビル・ピューからより多くの最近の結果を組み込むように見える小さな私のために、nの最大のi番目の検索、NSIGACTニュース 27(2):88-96、1996 )


2
トピックに関する最も有名な論文は、プラットとヤオ(1976)の論文であり、この問題の下限を証明する(敵対的な)手法を発見した最初の人物の1人であると信じられています。このテーマに関する最近の論文を見つけたら、この論文の引用に従ってください。最新の論文はDorとZwickのものですが、1996年のPatersonによる調査もあります(正確な結果に関係するかどうかは調べていませんが)。
ジェレミー

1
Nitpicking:質問の最後の文では、おそらく床ではなく天井を意味していました。
伊藤剛

6
ジェフ、正確な答えに興味がある理由を知りたい。
チャンドラチェクリ

5
Vi(n)

5
@ChandraChekuri:潜在的なアルゴリズムの宿題の問題として、Blum-Floyd-Pratt-Rivest-Tarjan線形時間選択アルゴリズムのバリアントをいじっています。最小比較アルゴリズムを使用して各ブロックの中央値を見つけた場合、どのブロックサイズがbig-Ohで最高の定数を提供しますか?9は7より優れ、5は5より優れています。11はどうですか?
ジェフ

回答:



3

この情報があなたに役立つのではないかと思います。残念ながら、この投稿の質問に追加情報は提供されませんが、これが何のためであったかについてのあなたのコメントへの返信ではあります(QuickSelectの亜種の分析)。

v(n,t)vt(n)

vt(n)=n+min(t,nt)+l.o.t..

この結果はめったに使用されず、特にMartínez、PanarioおよびViolaによる「QuickSelectの適応サンプリング」のアルゴリズムの基礎になっています。論文の出発点は、QuickSelect median-of-threeであり、次に尋ねるのは、求める要素の相対ランクがn / 2よりもはるかに低いか、n / 2よりもはるかに高い場合に、中央値を体系的に選択することです。 ?

つまり、要素のリストで番目の要素を探しており、要素のクラスタからピボットを選択しているとします。中央値()を使用する代わりに、場合にます。彼らは、このアルゴリズムが、の正しい選択のために、3の中央値バリアントよりも実際に効率的であることができることを示しています。knmm/2αmα=k/nm

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