мне нужно создать рекуррентное соотношение, чтобы захватить количество сравнений, выполняемых в этом алгоритме:Является ли мой базовый случай неправильным? - рекуррентное соотношение для алгоритма с множественными рецидивами
Func(n)
if n = 1
print "!"
return 1
else
return Func(n-1) * Func(n-1) * Func(n-1)
Это то, что я придумал, - но я не могу показаться, выяснить, что я сделал неправильно ...
базовый случай: М (1) = 0
M(n) = 3[M(n-1)]
= 3[3[M(n-2)]]
= 3[3[3[M(n-3)]]]
= 3^i[M(n-i)]
i = n-1 //to get base case
M(n) = 3^(n-1)[M(n-(n-1))]
= 3^(n-1)[M(1)]
= 3^(n-1)[0]
= 0 //????????????
Является ли мой базовый случай не так? Если да, то почему? Пожалуйста, благодарим вас за помощь.
Что привело вас думать, что М (1) = 0? – wookie919
@ wookie919 Честно говоря, я понятия не имею. Я всегда путаюсь с базовыми случаями. – Shannon