Небольшой трюк - рассмотрим solve(n-1)
:
solve(n) : T(n) = f(n) + f(n-1) + f(n-2) + ... + f(1) + T(n-1) + T(n-2) + ... + T(0)
solve(n-1): T(n-1) = f(n-1) + f(n-2) + ... + f(1) + T(n-2) + ... + T(0)
Вычтите последнее из первого:
Расширяйте многократно:
Решите последнее суммирование для f(n)
, чтобы получить сложность.
, например, для f(n) = O(n)
:
Альтернативный метод - замена переменной:
S(m)
в правильной форме для основной теоремы.
например, для f(n) = O(n) = O(log m)
, используйте Случай 2 с k = 0
:
Тот же результат, qed