各要素が


39

各要素が回比較されるように、ソートネットワークに縮小しない既知の比較ソートアルゴリズムはありますか?O(logn)

私の知る限り、各要素で比較でソートする唯一の方法は、n個の入力に対してAKSソートネットワークを構築し、ソートネットワークで入力を実行することです。O(logn)n

AKSは実装が容易ではなく、実用的でない一定の要因があるため、他のアルゴリズムを検索する動機があります。

ソートネットワークを含意していないようなアイテムごとの比較を持つアルゴリズムがここに提示されます。(iirc、これは最初にStony BrookのアルゴリズムセミナーでRob Johnsonによって発表されました)。O(log2n)


2
私は質問を理解していません:多くのシーケンシャルアルゴリズムがあなたの要求に対応しているようです。たとえば、マージソートは古典的なソートアルゴリズムであり、要素ごとに以上の比較を行いません。たぶん、あなたは並列ソートアルゴリズムについて尋ねていますか?logn
ジェレミー

4
@Jeremy:あなたは二つのリスト、マージした場合はおよびB 1bはnが、あなたは比較終わる可能性が1のそれぞれに対してB 1b n、つまり1要素ごとのΩ n 比較。そして、これは単なる「マージ」ステップでした。もちろん平均(a1,...,an)(b1,...,bn)a1b1,...,bnΩ(n)比較の数は必然的に少なくなりますが、問題は最悪の複雑さに関するものです。
ユッカスオメラ

6
それは可能だと思います。並べ替えネットワークはデータを無視し、事前に決定された比較方法を備えていますが、並べ替えアルゴリズムはデータに応じて異なる操作セットを選択できる場合があります。一つは持つアルゴリズムにマージソートを変更することができる各要素の比較、およびソーティングネットワーク暗示していないようreddit.com/comments/9jqsi/...O(log2n)
チャオ徐

1
(a1,,an)(b1,,bn)nlgn

2
今、新たな関連(うまくいけばはるかに簡単に)質問があります:cstheory.stackexchange.com/questions/8073/...
ユッカSuomela

回答:


17

これについてMichael T. Goodrichと話し合ったところ、EREW PRAM用のColeによる並列ソートアルゴリズムが仕事をしているようです。見る

O(logn)O(1)

並列ポインターマシン用のそのアルゴリズムの拡張は、


私たちはあなたが誰であるかを知りたいです!:D
Tayfun Pay

@someoneはSergio Cabelloです
誰か

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