Завтра у мене є середньостроковий курс з інформатики, і мені потрібна допомога у визначенні складності цих рекурсивних функцій. Я знаю, як вирішувати прості випадки, але я все ще намагаюся навчитися вирішувати ці складніші випадки. Це були лише деякі приклади проблем, які я не міг з’ясувати. Будь-яка допомога буде дуже вдячна і дуже допомогла б мені в навчанні, дякую!
int recursiveFun1(int n)
{
if (n <= 0)
return 1;
else
return 1 + recursiveFun1(n-1);
}
int recursiveFun2(int n)
{
if (n <= 0)
return 1;
else
return 1 + recursiveFun2(n-5);
}
int recursiveFun3(int n)
{
if (n <= 0)
return 1;
else
return 1 + recursiveFun3(n/5);
}
void recursiveFun4(int n, int m, int o)
{
if (n <= 0)
{
printf("%d, %d\n",m, o);
}
else
{
recursiveFun4(n-1, m+1, o);
recursiveFun4(n-1, m, o+1);
}
}
int recursiveFun5(int n)
{
for (i = 0; i < n; i += 2) {
// do something
}
if (n <= 0)
return 1;
else
return 1 + recursiveFun5(n-5);
}