Ich schrieb einen rekursiven Algorithmus, der in Θ(n)
läuft.Rezidivrelation mit Variable ausgedrückt in Form von n
Eine der Rekursionsgleichungen für n > 0
ist T(n) = T(v) + T(n - 1 - v) + c
wo c
eine Konstante ist und v
ist eine Variable, die Werte in dem festen Bereich n > v > 0
haben kann.
Wie kann ich diese Gleichung weiter lösen oder richtig vereinfachen?
Wenn der Wert von 'v' sich dem Mittelpunkt des Bereichs' (0, n) 'nähert, ist die Komplexität 'O (log (n))' und wenn der Wert von 'v' an der Ecke von ist In diesem Bereich wird die Komplexität "O (n)" sein. – Shubham
Ohne mehr über v zu wissen, ist es nicht möglich, diese Wiederholung zu beheben. Was weißt du über v? Woher kam diese Wiederholung? – templatetypedef
@templatetypedef Der Algorithmus wird zur Verarbeitung binärer Bäume verwendet. Die rohe, nicht vereinfachte Gleichung wäre T (n) = T (nL-1) + T (nR-1) + c, wobei "L" der linke Unterbaum (verwurzelt am linken Kindknoten) und " R 'ist der rechte Teilbaum (der am rechten Kindknoten verwurzelt ist) des Wurzelknotens, der gerade verarbeitet wird. Da "R = n-1-L" und "L = n-1-R" (wobei "n" die Gesamtzahl von Knoten in dem Unterbaum ist und "1" für den Wurzelknoten steht), kann die Gleichung vereinfacht werden als T (n) = T (nL-1) + T (n- (n-1-L) -1) + c = T (nL-1) + T (L) + c ', was äquivalent ist zu "T (n) = T (R) + T (n-1-R) + c". – George