Мы должны создать алгоритм и найти и решить его повторение. Обнаружение повторения поставило меня в тупик ..
foo(A, C)
if (C.Length = 0)
Sum(A)
else
t = C.Pop()
A.Push(t)
foo(A,C)
foo(A,C)
Изначально A пусто и C.Length = n. Я не могу дать реальный алгоритм, потому что это не разрешено.
Мой инструктор сказал мне, что я могу попробовать использовать 2 переменные. Вот что я придумал:
T(n, i) = { n if i = 0
2*T(n, i-1) + C if i != 0
Я не смог это решить, поэтому я также попытался решить повторение только с одной переменной:
T(n) = { n0 if n = 0
2*T(n-1) + C if n != 0
Где n0 — начальное значение n.
Как вы формируете повторение из алгоритма, где сложность базового случая составляет O (n)?