Lösen von Wiederholungsbeziehungen 'Chip & Conquer'


7

Ich wurde beauftragt, einige Wiederholungsrelationen zu lösen, und ich hatte Probleme mit sogenannten "Chip & Conquer" -Relationen.

Hier sind einige Beispielprobleme:

T(n)=T(n−5)+cn2

und

T(n)=T(n−2)+log⁡n

Ich soll eine Antwort geben ΘNotation. Wie gehe ich herum und löse solche Beziehungen?

Antworten:


4

Nehmen wir der Einfachheit halber an 5 teilt n und das n/.2=n- -5k für eine ganze Zahl k>0.

T(n)=T(n−5)+cn2T(n)=cn2+c(n−5)2+c(n−10)2+c(n−15)2+...+c52+c02=c(n2+(n−5)2+(n−10)2+(n−15)2+...+52+02)≥c(n2+(n−5)2+(n−10)2+(n/2)2)≥c(n/2)(1/5)(n/2)2)=cn3/40=(c/40)n3=Ω(n3)T(n)=cn2+c(n−5)2+c(n−10)2+c(n−15)2+...+c52+c02≤c(n/5)n2≤cn3=O(n3)

Wir schließen daraus T(n)=Θ(n3).


Let's assume for simplicity that n/2=n−2k for an integer k>1.

T(n)=T(n−2)+log⁡n=log⁡n+log⁡(n−2)+log⁡(n−4)+...+log⁡(4)≥log⁡n+log⁡(n−2)+log⁡(n−4)+...+log⁡(n/2)≥(n/2)log(n/2)=Ω(nlog⁡n)T(n)=T(n−2)+log⁡n=log⁡n+log⁡(n−2)+log⁡(n−4)+...+log⁡(4)≤(n/2)log⁡n=O(nlog⁡n)

We conclude that T(n)=Θ(nlog⁡n).


0

Expand the recurrence and sum it up.

Example 1:

T(n)=T(n−5)+O(n2)=T(n−10)+O(n2)=…=T(0)+{n/5 terms, each O(n2)}

Now let's say T(0)=c. This would be generally given in the question.

so this would sum to (n/5).O(n2)=O(n3)

Example 2:

T(n)=T(n−2)+log⁡n=T(n−4)+log⁡(n−2)+log⁡(n)=…=T(0)+log⁡(n−2k)+⋯+log(n)=c+log⁡(n−2k)+⋯+log⁡(n−2)+log⁡(n)=c+nlog⁡(n)

It was supposed to be +cn^2 not =cn^2. Silly typos!
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.