Ich möchte die Zeit Komplexität in Big O des folgenden Codes finden:Zeitkomplexität eines rekursiven Reverse-String
ReverseString(S,x,y)
if x < y
swap(S,x,y)
return ReverseString(S,x+1,y-1)
Die Gleichung ich erhielt, war
T(1) = 1
T(n) = 3 + T(n+1)+ T(n-1)
Wenn ich Recht habe, wie Würde ich das Problem lösen?
Wenn ich nicht richtig bin, was ist die richtige Gleichung.
Ich bin nicht sicher, was Ihr T (n) ist - Komplexität für eine Zeichenfolge der Länge n? Warum sollte T (n) von der Komplexität eines längeren Strings abhängen? Der Sinn dieser Methode ist, dass x bei 0 beginnt und zur Mitte hin zunimmt und y am Ende beginnt und zur Mitte hin abnimmt. Naiv, diese Methode führt die Saite einmal durch, wobei sie die Hälfte der Länge der (aufgerundeten) Iterationen verwendet, also sollte die Reihenfolge von n sein, nicht wahr? – Rup
T (n) ist die Standardaufgabennotation für Wiederholungsrelationen. – Prune