Переписал решенный вопрос ниже для справки:
Оригинальный вопрос:
T(n) = 2T(n - 1) - 1, if n > 0
1, otherwise
1-я итерация
T(n) = 2T(n - 1) - 1
T(n - 1) = 2T(n - 1 - 1) - 1
T(n - 1) = 2T(n - 2) - 1
2-я итерация
T(n) = 2(2T(n - 2) - 1) - 1
T(n) = 4T(n - 2) - 2 - 1
T(n) = 4T(n - 2) - 3
T(n - 2) = 2T(n - 2 - 1) - 1
T(n - 2) = 2T(n - 3) - 1
3-я итерация
T(n) = 4(2T(n - 3) - 1) - 3
T(n) = 8T(n - 3) - 4 - 3
T(n) = 8T(n - 3) - 7
T(n - 3) = 2T(n - 3 - 1) - 1
T(n - 3) = 2T(n - 4) - 1
4-я итерация
T(n) = 8T(n - 3) - 7
T(n) = 8(2T(n - 4) - 1) - 7
T(n) = 16T(n - 4) - 8 - 7
T(n) = 16T(n - 4) - 15
Финальный стол
At k=1, T(n) = 2T(n - 1) - 1
At k=2, T(n) = 4T(n - 2) - 3
At k=3, T(n) = 8T(n - 3) - 7
At k=4, T(n) = 16T(n - 4) - 15
T(n) = 2ᴷT(n - k) - (2ᴷ - 1)
At k=n T(n) = 2ᴺT(n - n) - (2ᴺ - 1)
T(n) = 2ᴺT(0) - (2ᴺ - 1)
T(n) = 2ᴺ - (2ᴺ - 1)
T(n) = 2ᴺ - 2ᴺ + 1
T(n) = 1
2 ответа
Индуктивное доказательство того, что T (n) = 1, выглядит следующим образом:
Старт индукции.
Что такое Т (0)? 1 .
Шаг индукции.
Предположим, что для любого n> = 0 T (n) = 1. Теперь посмотрим, верно ли утверждение для T (n + 1).
T (n + 1) = 2 * T (n) - 1 = 2 * 1 - 1 = 1
< Сильный > Заключение .
T (n) = 1 для всех натуральных n. И 1 находится в O (1).
Ваша ошибка.
Первая ошибка, которую я нашел в вашем расчете, здесь:
T(n) = 2²(2T(n - 3) - 1) - 3
T(n) = 2³T(n - 3) - 2 - 3
^ this should be a 4
T(n) = 2T(n-1) -1
= 2(2T(n-2)-1) - 1 = 4T(n-2)-3 = (2^2)T(n-2)-(2^2-1)
= 2(4T(n-3)-3) - 1 = 8T(n-3)-7 = (2^3)T(n-3)-(2^3-1)
...
= (2^n)T(n-n)-(2^n-1) = (2^n)1 - 2^n + 1 = 1
Похожие вопросы
Новые вопросы
recursion
Рекурсия - это своего рода вызов функции, при котором функция вызывает себя. Такие функции также называются рекурсивными функциями. Структурная рекурсия - это метод решения проблемы, при котором решение проблемы зависит от решения меньших экземпляров одной и той же проблемы.