Для решения рекуррентного отношения с нуля необходимо выполнить два шага:
- Каким-то образом найти ответ
- Доказать, что он правильный
" Каким-то образом найти ответную часть «может быть сложно». Обычные способы состоят в том, чтобы расширить несколько терминов и экстраполировать, как это сделал Родойф в другом ответе, составить график / составить таблицу и взглянуть на нее или распознать знакомый шаблон. Все эти способы работают очень хорошо для вашего примера.
Давайте поместим несколько точек в таблицу или график (пусть C = T (1)):
n | T(n)
===========
1 | C
2 | C + 2
4 | C + 6
8 | C + 14
16 | C + 30
мне нравится T (n) = 2n - 2 + C
Мы можем доказать T (2 x ) = 2 x + 1 - 2 + C быть правильным для всех x> = 0 по индукции:
- Если x = 0 , то 2 x + 1 - 2 + C = C, т. T (2 x ) = 2 x + 1 - 2 + C, из таблицы
- Для любого x, T ( 2 x ) = 2 x + 1 - 2 + C ⇒ T (2 x + 1 ) = 2 x + 1 - 2 + C + 2 x + 1 = 2 (x + 1) + 1 - 2 + C, путем подстановки
Таким образом, тот факт, что формула верна для n = 2 0 , подразумевает, что она верна для всех n = 2 x
Для охвата всех других значений n, вы также должны заметить, что всегда есть 2 x между n и 2n и между n / 2 и n, и что их значения T (2 x ) связаны с T (п).
Это достаточно трудоемко для одного отдельного случая ... вот почему мы помним основную теорему, которая была доказана для всех случаев, которые соответствуют ее образцам.