2010-02-10 7 views
5

versuchte die gegebene Rekursion zu lösen, Rekursionsbaum Verwendung T(n) = 3T(n/3) + n/lg n.Lösen von Rezidiven

In der ersten Ebene (n/3)/(log(n/3)) + (n/3)/(log(n/3)) + (n/3)/(log(n/3)) = n/(log(n/3)).

In der zweiten Ebene stellt sich n/(log(n/9)) erwiesen.

Kann ich die obige Gleichung in Form von n.loglogn

verallgemeinere Dies ist ein allgemeiner Zweifel ich habe, ich brauche einen Einblick zu diesem Thema.

Hinweis: Jede Funktion, die in dieser Funktion Theta(n^k log^k (n)) sein muss, sollte> = 1 sein. Und in diesem Fall k -1 so Master-Theorem kommt nicht in Bild

+0

Suchen Sie nach der (geschlossenen) Lösung, oder um die rechnerische Komplexität zu finden? –

Antwort

7

Es ist wahr, das Master-Theorem gilt nicht.

T (n) = 3T (n/3) + n/logn.

Sei g (n) = T (n)/n.

Dann n g (n) = 3 (n/3) * g (n/3) + n/logn.

So

g (n) = g (n/3) + 1/n log.

Dies gibt g (n) = Summe 1/log n + 1/n log/3 + 1/log n/9 + ...

= Theta (Summe 1/log n + 1/(logn -1) + 1/(log n - 2) + ...) = Theta (Integral 1/x zwischen 1 und logn) = Theta (log n log).

also T (n) = n g (n) = Theta (n log logn.)

Sie ahnen es richtig.

+0

Scheint so, als gäbe es einen Fehler direkt bei dem Schritt zwischen dem, wo Sie g (n) = T (n)/n und den n * g (n) = ... Teil einführen; n/logn ging nie zu n^2/logn –

2

Wenn Sie einen Baum verwenden, um die Frage zu visualisieren, werden Sie sehen, dass die Summe der einzelnen Rang ist:

  • Rang 0:

enter image description here

(der gleich bis n/log (n)) - Rang 1:

enter image description here

und so weiter, mit einer allgemeinen Summe n/log(n/(3^i)) für jeden Rang i der aktuelle Rang ist. so, wir alle zusammen bekommen:

enter image description here

wenn wir die Gleichung öffnen erhalten wir:

enter image description here

(ab Ende und rückwärts gehen ..zuerst, wenn i = log (base3) n und dann zurück)

seit Logbase nicht in Theta egal, erhalten wir:

enter image description here

das ist:

enter image description here

die (in Sigma):

enter image description here

, die eine harmonische Reihe ist gleich:

enter image description here

und seit ln mit einer Basis von e log ist, und melden Sie sich Basen keine Rolle in Theta, wir schließlich erhalten:

enter image description here

denen ist gleich:

enter image description here

Also, es ist Theta (n log log n).

+0

Ich habe deine Links tatsächlich repariert, bevor du sie öffnest und jetzt bedauerst du es: P. Einfach die Mathematik in 'Code Schnipsel' stecken - es ist sowieso besser lesbar. –