2016-08-05 45 views
0

I CLRS Buch las zu verstehen Rezidive mit Substitutionsmethode und fand Beispiel folgende Lösung:Auswechslung Methode: Warum ändert sich diese Wiederholung Ungleichheit & Gleichheitszeichen und warum induktive Schritt kleinere Werte als nächster Wert verwendet

Recurrence, T(n) = 2T(n/2) + n 
    Guess Solution, T(n) = O(nlgn) 
    Proof that T(n) ≤ cnlgn 

enter image description here

Meine Fragen sind:

Q1: warum die Lösung der Gleichung ihre Zeichen zwischen Ungleichheit & Gleichheitszeichen ändert ≤ , =?

Q2: Wir wissen, dass in der mathematischen Induktion, induktiver Schritt der nächste Wert ist, also wenn aktuelle Wert n dann sollte nächster Wert seinen (n + 1) .Aber warum sie verwendete n/2 als nächster induktiver Schritt?

Bitte helfen Sie mir diese zu erklären question.It Hilfe scharen wird mich Auswechslung Method.Thanks

Antwort

1

Q1 zu verstehen: Die beiden Gleichheiten sind nur Umschreibungen der vorherigen Zeile, da log (a/b) = log (a) - log (b) und log (2) = 1

Q2: Da wir T (n) als Funktion von T (n/2) schreiben, ist ein Schritt direkt ein 2-Faktor. Wenn die Rekursionsformel T (n) = f (T (n-1)) wäre, hätten Sie den klassischen Induktionsschritt mit einer 1-Addition.

Beachten Sie auch, dass Sie in diesem Beweis davon ausgehen, dass T (1) in konstanter Zeit durchgeführt werden kann.

+0

Dank @Damien Prot für Ihre Antwort, nachdem ich Ihre hilfreiche Antwort gelesen habe, habe ich noch 2 Fragen zu meinen Fragen zum besseren Verständnis: ** Q1. (cn lg (n/2) + n), (cn lg n - cn lg 2 + n) und (cn lg n - cn + n) sind äquivalent, deshalb wird gleiches Vorzeichen verwendet. Die Ungleichung besteht jedoch immer noch zwischen RHS und LHS Ungleichheit? ** ** Q2. Der nächste induktive Wert des Werts hängt davon ab, wie sich die Rekurrenzbeziehung entwickelt.Auf der Grundlage davon könnte es Größer oder Kleiner als die vorherige Eingabegröße sein? ** Danke – user5005768

+1

Q1: Ja, das ist es. Q2: Ja, der induktive Schritt hängt von der Wiederholungsbeziehung ab. –

+0

Dank @Damien Prot. Auch Sie sagten, T (1) kann in konstanter Zeit erfolgen. Ich verwende T (n) = cnlgn für T (1) = c.1. lg 1 = 0 warum ist es dann konstante Zeit? – user5005768