Probleme beim Verstehen des Hauptsatzes aus Jeffrey Ericksons Notizen


7

Ich schaue mir Jeffrey Ericksons Notizen zum Hauptsatz an (Seite 10).

Teil (b) des Satzes besagt, dass wenn , und k > 1, dann ist T (n) \ Theta (n ^ {\ log_b (a)}) . Aber ich bekomme ein anderes Ergebnis.T(n)=aT(nb)+f(n)af(nb)=kf(n)k>1Θ(nlogb⁡(a))

Unter Verwendung von Rekursionsbäumen haben wir

T(n)=∑i=0logb⁡(n)aif(nbi)=∑k=0logb⁡(n)kif(n).

Wenn k<1 ist dies wie gewünscht ∼f(n) . Wenn k=1 ist dies wie gewünscht ∼logb⁡(n)f(n) . Wenn jedoch k>1 ist, handelt es sich um eine aufsteigende geometrische Reihe, sodass der letzte Term dominiert. Dann haben wir

∼klogb⁡(n)f(n)=nlogb⁡(k)f(n),
was falsch ist; Die richtige Antwort lautet Θ(nlogb⁡(a)) . Wo geht meine Argumentation aus dem Ruder und was ist die richtige Lösung?

Jede Hilfe wird geschätzt.

EDIT: Ich denke, meine Antwort ist tatsächlich richtig und entspricht Ericksons einfacherer Antwort. Man beachte, dass knf(n)=kn−1af(nb)...=kan−1f(nbk−1)=anf(nbk). Daher ist klogb⁡(n)f(n)=alogb⁡(n)f(1)∼nlogb⁡(a) .

Antworten:


3

Sie können n ^ {\ log_b (k)} f (n) weiter vereinfachen nlogb⁡(k)f(n).

Wir haben . Wenn , können wir diese Identität mal anwenden , um .akf(nb)=f(n)c=logb⁡(n)c(ak)cf(1)

Alsonlogb⁡(k)f(n)=nlogb⁡(k)(ak)cf(1)=klogb⁡(n)(ak)logb⁡(n)f(1)=alogb⁡(n)f(1)=Θ(nlogb⁡(a))

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.