Я упросту проблему и поместу ее в (свой) базовый псевдокод:
function f1(A, n)
// A is an array of n integers
i = n - 5
while(i >= 10)
(some random constant work that's not important)
f1(A, i)
i = i - 2
Во-первых, я довольно растерялся при настройке отношения повторения.Несколько раз в классе мы рассматривали алгоритм с рекурсивным вызовом в цикле, и он всегда был в простом цикле for, где можно сразу увидеть количество итераций.Цикл while действительно сбивает меня с толку и нерегулярный рекурсивный вызов (в моем классе я видел только (n / 2), (n-3) и т. Д.).Если бы кто-то мог помочь мне решить и рекуррентные отношения, это было бы удивительно.Я уверен, что это экспоненциально, поэтому достаточно нижней границы.Большое спасибо заранее!