Durchschnittliche Fallanalyse der Einfügungssorte, die in Kenneth Rosens "diskrete Mathemathematik und seiner Anwendung" behandelt wird
-
29-09-2020 - |
Frage
Ich ging durch "diskrete Mathematik und seine Anwendung" von Kenneth Rosen , wo ich auf den folgenden Algorithmus der Insertionsart und auch seiner Analyse stieß. Der Algorithmus unterscheidet sich ganz von der, die sich in den ClRs befasst, sodass ich den gesamten Algorithmus unten geteilt habe. Beachten Sie, dass sie eine Maschine betrachtet haben, in der nur Vergleiche in Betracht gezogen werden, als er erheblich ist und somit entsprechend vorgegangen ist. Das Problem, das ich konfrontiert, ist in dem hier fett gedruckten Analyseanteil. Darüber hinaus wurden die spezifischen Zweifel, die ich habe, von mir zum Ende dieser Frage ausgewichtet worden.
Algorithmus
Prozedur einfügungssort ( $ a_1, a_2, ..., a_n $ : echte Zahlen mit $ n \ geqslant 2 $ )
generasacodicetagpre.Die Einfügungssortierung: Die Einfügungssort ist ein einfacher Sortieralgorithmus, der jedoch normalerweise nicht das effizienteste ist. So sortieren Sie eine Liste mit $ N $ Elemente, beginnt die Einfügungssät mit dem zweiten Element. Der Einfügungssort vergleicht dieses zweite Element mit dem ersten Element und fügt ihn vor dem ersten Element ein, wenn er das erste Element nicht überschreitet und nach dem ersten Element, wenn er das erste Element überschreitet, wenn er das erste Element überschreitet. An diesem Punkt befinden sich die ersten beiden Elemente in der richtigen Reihenfolge. Das dritte Element wird dann mit dem ersten Element verglichen, und wenn er größer als das erste Element ist, wird er mit dem zweiten Element verglichen; Es wird in die richtige Position unter den ersten drei Elementen eingesetzt.
Im Allgemeinen, in der
$ y $ ter Schritt der Einfügungssortierung, der $ y $ Das Element der Liste wird in die richtige Position in der Liste der zuvor sortierten $ J - 1 $ Elemente eingesetzt. Um den $ y $ tiges Element in der Liste einzufügen, wird eine lineare Suchtechnik verwendet. Der $ y $ Das Element ist nacheinander verglichen mit dem bereits sortierten $ J - 1 $ Elemente zu Beginn der Liste, bis das erste Element, das nicht kleiner als dieses Element ist, gefunden oder bis er mit allen $ J - 1 $ Elemente verglichen wurde; Der $ y $ Das Element wird in die richtige Position eingefügt, so dass der erste $ J $ Elemente sortiert ist . Der Algorithmus wird fortgesetzt, bis das letzte Element in der richtigen Position relativ zur bereits sortierten Liste der ersten $ N - 1 $ Elemente eingesetzt wird. Die Einfügungssort ist in Pseudocode in einem Algorithmus oben beschrieben.
wir lassen $ x_i $ Seien Sie die Zufallsvariable, die der Anzahl der Vergleiche verwendet, die zum Einfügen von $ A_I $ in die richtige Position nach dem ersten
$ x= x_2 + x_3 + ··· + x_n $ ,
Wir können die Linearität der Erwartungen verwenden, um zu dem Schluss, dass
$ E (x)= E (x_2 + x_3 + ··· + x_n)= e (x_2) + e (x_3) + ··· + e (x_n) . $
, um $ e (x_i) $ für $ i= 2, 3, ..., N $ , let $ p_j (k) $ Bezeichnen Sie die Wahrscheinlichkeit, dass der größte der ersten
$ E (x_i) $ = $$ \ SUM_ {K= 1} ^ {i} p_i (k ) .X_i (k)=sum_ {k= 1} ^ {i} \ frac {1} {i} .k=frac {1} {i} \ sum_ {k= 1} ^ {i} k=frac {1} {i}. \ frac {i (i + 1)} {2}=frac {i + 1} {2} $$
es folgt das
$ E (x) $ = $$ \ Sum_ {i= 2} ^ {n} E (x_i )=sum_ {i= 2} ^ {n} \ frac {i + 1} {2}=frac {n ^ {2} + 3n -4} {4} $$
mein Zweifel
jetzt hier, während wir die Berechnung von $ e (x_i) $ in Betracht ziehen, in Betracht ziehen, dass wir die Wahrscheinlichkeit des maximalen Elements zwischen $ A_1, A_2, ..., A_I $ in Position $ K $ . Dann sagen sie, dass die Anzahl der Vergleiche, wenn $ a_i $ in den
wechselover sagen sie, dass das maximale Element des Sublist $ a_1, a_2, ..., a_i $ eine beliebige Position ist $ K $ th und die Wahrscheinlichkeit, dass es $ \ frac {1} {i} $ ist. Wenn wir jedoch sehen, dass $ A_1, A_2, ..., A_ {I-1} $ sortiert ist, dann die max. $ a_1, a_2, ..., a_i $ ist entweder $ a_ {i-1} $ oder $ a_i $ .
Lösung
Die Wahrscheinlichkeit $ 1 / I $ ist korrekt, da es sich auf die relative Reihenfolge von $ a_1, \ ldots bezieht,A_i $ Vor dem Sortieren der ersten
Das Argument erscheint jedoch falsch.Die relevante Wahrscheinlichkeit ist nicht $ P_I (k) $ , sondern eher $ q_i (k) $ , wasist die Wahrscheinlichkeit, dass $ a_i $ der $ k $ 'tig kleinstes Element aus $ A_1, \ ldots, a_i $ ( vor sortieren).Diese Wahrscheinlichkeit ist $ 1 / I $ , unabhängig von $ K $ .