Я должен найти рекуррентные уравнения следующей функции:Нахождение рекуррентных уравнений функции
static int f(int[] a, int inf, int sup) {
if(sup == inf)
return a[inf];
if(sup == inf+1)
return a[inf] + a[sup];
else {
int thrd = (sup - inf + 1)/3;
int i = inf + thrd;
int j = i + thrd;
int sum = 0;
for(int k = i; k < j; k++)
sum += a[k];
return f(a, inf, i-1) + f(a, j, sup) + sum;
}
}
Базового случай Т (1) = 1 (от if(sup == inf)
до sum += a[k];
). Вместо этого рекурсивный случай, что есть? Я бы сказал Т (п) = 2Т (п/3) + 1, но я не уверен ..
Благодарности
Спасибо за ответ. Решение T (n), что такое? Я подумал об этом: ** 2T (n/3) + сумма от i = 0 до i = (k-1) суммы (2^i) + от i = 1 до i = (k-1) of [((2^i) * n)/3^i] **, но это не решение. – user3808470