Diese Rekursion non-homogeneous linear recurrence. genannt wird, und es wird gelöst, indem es zu einem homogenen einer Umwandlung:
T(n) = T(n-1) + 2T(n-2) + 1
T(n+1) = T(n) + 2T(n-1) + 1
1 von 2 Subtrahierend und die Basis zu ändern, erhalten Sie T(n) = 2 T(n-1) + T(n-2) - 2 T(n-3)
. Die entsprechende charakteristische Gleichung ist:
x^3 - 2x^2 - x + 2 = 0
die x = {-1, 1, 2}
Lösungen. Dies bedeutet, dass die Rekursion wie folgt aussieht:
c1 * (-1)^n + c2 * 2^n + c3 * 1^n = c1 * 2^n + c2 (-1)^n + c3
Wo alle diese Konstanten gefunden werden können, T (0) und T (1) zu kennen. Für Ihre Komplexitätsanalyse ist klar, dass dies exponentiell ist O(2^n)
.
Was ist der Basisfall für 'T (n)'? –
Dies ist ein großartiger Ort, um die Annihilator-Methode zu verwenden ... die ich eigentlich nicht weiß. :-) – templatetypedef
Ein Base Case ist nicht vorgesehen. Ich schätze, dass es nicht nötig ist, ein großes O-Band zu erreichen? – velen