Der Master -Methode für ein Rezidiv , die oft als das Master- Theorem , berechnet die notwendigen Ressourcen, um einen rekursiven Algorithmus , wie die Laufzeit auf einem Computer auszuführen. Das Master- Methode verwendet , was als Big O-Notation bekannt, das asymptotische Verhalten von Funktionen , das heißt , wie schnell sie auf ihre Grenzen wachsen zu beschreiben. Divide and Conquer
Eine rekursive Algorithmus lässt sich in Teilprobleme zerlegt werden , mit dem "Teile und Herrsche "-Strategie. Jede dieser Teilprobleme zweigt von der ursprünglichen Problem und kann als ein Knoten betrachtet werden. Für den Master- Satz , diese Knoten genannt werden n /b ist, wobei n die Größe des ursprünglichen Problems , und b die Anzahl der Teile, in die er gebrochen ist, angenommen, gleich groß sein . Aus jedem dieser Knoten kann untergeordnete Knoten abzweigen , die wiederum können auch einzeln angesprochen werden mit dem Teile und Herrsche -Strategie.
Meister Theorem
das Master- Theorem funktioniert für rekursive Algorithmen T ( n), wobei T ( n) = aT ( n /b ) + f ( n ) und T (1) = c , so dass es ein Startwert , von dem die zu erzeugen, um Rekursion. Ein Beispiel ist T ( n) = 2T ( n /4) + n ^ 2 . Das Master- Theorem dann kategorisiert den Algorithmus in eine Kategorie mit anderen Algorithmen, die die gleiche Menge an Arbeit zu nehmen.
Cases Nicht abgedeckt
Der Master -Theorem kann nicht verwendet werden, wenn T ( n) eine monotone , wie sin n . Eine solche Funktion nicht erleben Wachstum , weshalb es heißt monoton. f ( n ) ist ein Polynom , wie ein 2x ^ 3 + 3x + 4 , um Funktionen wie 2 ^ n entgegengesetzt. b muss mindestens 2 sein und ein muss mindestens 1 sein , 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 diese rekursiven Algorithmus der Art n ^ 3 gehört , und wird die gleiche Laufzeit als andere Algorithmen in dieser Kategorie haben .
< br >