Мне нужно найти рекуррентное уравнение следующей функции.
public static boolean f(int[] a) {
return fr(a, 0);
}
private static boolean fr(int[] a, int i) {
int n = a.length;
if(i >= n-1)
return true;
else if(a[i] > a[i+1])
return false;
else
return fr(a, i+1);
}
Я думаю, что это:
Т(1) = 1
T(n) = T(n - 1)
Разрешая, я получаю результат T(n) = n. Это правильно? Странным кажется решение этого уравнения. Глядя на код, легко увидеть, что сложность равна Θ(n) (проходит через весь массив).
Это глупый вопрос, но он приводит меня в замешательство. Спасибо всем, кто хочет мне помочь