2012-02-16 11 views
1

誰かが私にこの問題の解決方法を説明できますか?比較ソート - 理論的

並べ替えの対象となる要素がnとなっているとします。入力シーケンス は、n = kサブシーケンスで構成され、それぞれがk要素を含んでいます。与えられた サブシーケンス内の要素はすべて、後続のサブシーケンス内の要素より小さく、前のサブシーケンス内の要素よりも大きい です。したがって、すべてのことは ソートNN = K サブシーケンスの各々におけるK要素をソートする長さのシーケンス全体に必要とされます。ソート問題のこの変形を解決するために必要とされる比較数の下限を ng 0と表示してください。

対処:

Sは、に分割N要素のシーケンスN/Kサブ配列長K任意のサブシーケンス内のすべての要素がすべてより大きい の各ことう前のサブシーケンスの要素 は、後続のサブシーケンスの要素のすべてよりも小さい。

任意の比較に基づくソートアルゴリズムは 最悪の場合時間(N LGのk)を取らなければならないSをソートします。

証明

ヒントに指摘したように、我々は 下の各サブシーケンスをソートするための下限を一緒に乗じて拘束さを証明することができない、という最初の通知。 これは、部分配列 を独立してソートする高速アルゴリズムがないことを証明するだけです。これは私たちが証明することではありませんでした。余計な前提を導入することはできません。今

各サブシーケンスの 要素はkのいずれかの、任意の順序にすることができますので、S.のための任意の比較の並べ替えのための高さhの決定木を考えます!順列 は、サブシーケンスの最終ソート順に対応します。また、n/kのような サブシーケンスがあり、それぞれが任意の順序であることができるので、いくつかの入力順のソートに対応できるSの の順列が存在する。したがって、Sをソートするための任意の決定 ツリーは少なくとも(k!)^ n/kの葉が必要です。高さのバイナリツリー時間 がせいぜい2^Hの葉を持っていないので、我々は2^H≥(K!)^(N/K)または時間≥のLG((kは!)持っている必要があります^ n/k)。そこで我々は

 h ≥ lg((k!)^n/k)   -- unbalanced parens - final one added? 
     = (n/k) lg(k!) 
     ≥ (n/k) lg((k/2)^k/2) 
     = (n/2) lg(k/2) 

3行目はkから来る取得 ! は、k/2であり、最大の用語は少なくともk/2である。 (我々は暗黙奇数た K 場合我々は、床、天井 で調整できた。kが偶数であることをここで仮定する。)

をで長 を有するSをソートするための任意の意思決定ツリー内の少なくとも1つの経路が存在するので最小の(n/2)lg(k/2)の場合、Sに対するアルゴリズムベースの比較の最悪ケース実行時間は(nlg k)です。

誰かがコードブロックの手順を教えてくれますか?特にステップがlg k!lg((k/2)^ k/2)になります。

Iは、以下の数学を転載しまし

答えて

3

:(2)         (1)         時間≥のLG(K N/Kを!)

=(n/k)lg(k!)

(3)         ≥(N/K)、LG((K/2)K/2

(4)          =(N/2)LG(K/2)

これを見てみましょう。行(1)から行(2)に行くと対数のプロパティが使用されます。同様に、行(3)から行(4)へ行くと対数の性質を利用し、(n/k)(k/2)=(n/2)という事実を用いる。したがって、トリックステップは、ライン(2)からライン(3)に向かいます。

ここでの主張は次のとおりです。すべてのk、kの

!次のように≥(K/2)(K/2)

直観的には、アイデアがあります。 kを考えてみよう! = k(k-1)(k-2)...(2)(1)となる。もしあなたが気づくなら、これらの用語の半分はk/2より大きく、その半分はより小さくなります。 k未満の条件をすべて削除すると、次のような値が得られます。

k! ≥ k(k-1)(k-2)...(K/2)

は今、私たちがk/2 ≥ kのことを持っているので、我々は

kのことを持っています! ≥ K(K - 1)(K - 2)...(K/2)≥(K/2)(K/2)...(K/2)

これは、の積であります(k/2)と等しいので、(k/2)k/2と等しい。奇数と偶数の値のロジックが少し違うので、この計算は正確ではありませんが、本質的にこの考え方を使用すると、以前の結果の証明のスケッチが得られます。 (1)〜(2)および(3)〜(4)は対数の性質を用い、(2)〜(3)は上記の結果を用いる。

希望すると便利です。

+0

私の疑問は、ステップ2から3に向かいました。ありがとうございました! – Zombie

関連する問題