Ich versuche, eine Grenze für die folgende Wiederholungsgleichung zu finden:
Ich denke, der Hauptsatz ist aufgrund der unterschiedlichen Anzahl von Teilproblemen und Unterteilungen ungeeignet. Auch Rekursionsbäume funktionieren nicht, da es kein bzw. .
Antworten:
Ja, Rekursionsbäume funktionieren immer noch! Es spielt keine Rolle, ob der Basisfall bei oder T ( 1 ) oder T ( 2 ) oder sogar T ( 10 100 ) auftritt . Es spielt auch keine Rolle, wie hoch der tatsächliche Wert des Basisfalls ist. Was auch immer dieser Wert ist, es ist eine Konstante.T(0) T(1) T(2) T(10100)
Durch Big-Theta-Brillen gesehen ist die Wiederholung .T(n)=2T(n/2)+T(n/3)+n2
Die Wurzel des Rekursionsbaums hat den Wert .n2
Die Wurzel hat drei Kinder mit den Werten , ( n / 2 ) 2 und ( n / 3 ) 2 . Somit ist der Gesamtwert aller Kinder ( 11 / 18 ) , n 2 .(n/2)2 (n/2)2 (n/3)2 (11/18)n2
Sanity Check: Die Wurzel hat neun Enkelkinder: vier mit Wert , vier mit Wert ( n / 6 ) 2 und eines mit Wert ( n / 9 ) 2 . Die Summe dieser Werte ist ( 11 / 18 ) 2 n 2 .(n/4)2 (n/6)2 (n/9)2 (11/18)2n2
Ein einfacher Induktions Nachweis bedeutet , daß für jede ganze Zahl , die 3 l Knoten auf der Stufe l Gesamtwert ( 11 / 18 ) l n 2 .ℓ≥0 3ℓ ℓ (11/18)ℓn2
Die Niveausummen bilden eine absteigende geometrische Reihe, daher ist nur der größte Term .ℓ=0
Wir schließen daraus, dass .T(n)=Θ(n2)
quelle
Sie können die allgemeinere Akra-Bazzi- Methode anwenden .
In Ihrem Fall müssten wir so finden, dassp
(was ergibt )p≈1.364
und dann haben wir
Beachten Sie, dass Sie für nicht wirklich lösen müssen . Alles was Sie wissen müssen ist, dass 1 < p < 2 .p 1<p<2
Eine einfachere Methode wäre, und zu beweisen, dass g ( x ) begrenzt ist.T(x)=x2g(x) g(x)
quelle
Sei eine Abkürzung für die rechte Seite der Wiederholung. Wir finden eine untere und obere Grenze für f unter Verwendung von T ( n / 3 ) ≤ T ( n / 2 ) :f(n)=2T(n/2)+T(n/3)+2n2+5n+42 f T(n/3)≤T(n/2)
quelle