Предположим, у меня есть следующий рекурсивный метод:
int count(node *current, node *start, int c)
{
if(current == NULL)
return c;
if((current->value)==10)
c = c + 1;
if(current->next == start)
return c;
return count(current->next, start,c);
}
Я рассчитал сложность времени как N (рекурсивные вызовы) * O (1) = O (n)
т.е. условие для проверки пустого списка и условие для проверки первого узла на значение 10 занимают постоянное время, в то время как есть N рекурсивных вызовов, верно ли мое вычисление сложности времени? Спасибо