Master-Methode zur Wiederholung

February 26

Master-Methode zur Wiederholung

Die Meister-Methode nach Wiederholungen, oft als das master-Theorem, berechnet die Ressourcen, die notwendig ist, einen rekursiven Algorithmus, z. B. die Laufzeit auf einem Computer durchzuführen. Die Meister-Methode verwendet, was als Big O-Notation bekannt ist, um das asymptotische Verhalten von Funktionen, d. h., wie schnell sie wachsen in Richtung ihre Grenzen zu beschreiben.

Teile und herrsche

Ein rekursiven Algorithmus kann in Teilprobleme, mit der Strategie "Teile und herrsche" unterteilt werden. Jede dieser Unterprobleme Zweige von dem ursprünglichen Problem aus und kann als Knoten betrachtet werden. Für das master-Theorem heißen diese Knoten n/b, wobei n die Größe des ursprünglichen Problems, und b ist die Anzahl der Stücke in die gebrochen, angenommen, dass wird Sie gleich groß sein. Untergeordnete Knoten Verzweigung aus jeder dieser Knoten aus, die wiederum auch sein adressierte jeweils einzeln mit der Wasserscheide und erobern Strategie.

Master-Theorem

Das master-Theorem arbeitet für rekursive Algorithmen T(n), wo T(n) = aT(n/b) + f(n) und T(1) = c, so dass es ein Startwert aus der die Rekursion generiert. Ein Beispiel ist T(n) = 2T(n/4) + n ^ 2. Das master-Theorem kategorisiert dann den Algorithmus in eine Kategorie mit anderen Algorithmen, die die gleiche Menge an Arbeit zu nehmen.

Nicht erfassten Fällen

Das master-Theorem kann nicht verwendet werden, wenn T(n) eine Monotone, z. B. sin n ist. Diese Funktion ist nicht Wachstum, erleben, weshalb es eine Monotone genannt wird. f(n) muß ein Polynom, solch ein 2 X ^ 3 + 3 X + 4, im Gegensatz zu Funktionen wie 2 ^ N. b muß mindestens 2, und ein muss mindestens 1 und c muss positiv sein.

Beispiel

T(n) = 8T(n/2) + 1000n ^ 2

T(n) = Theta (n ^(log_base_b a))

a = 8

b = 2

T(n) = theta(n^3)

Dies sagt uns, dass dieses rekursiven Algorithmus zu den Typ-n gehört ^ 3, und haben das gleiche läuft Zeit als andere Algorithmen in dieser Kategorie.