Сложности во время выполнения для рекурсивных алгоритмов

Я искал сверху и снизу и, похоже, не нашел много материала, связанного со сложностями во время выполнения, рекурсией и Ява.

В настоящее время я изучаю сложности во время выполнения и нотацию Big-O в своем классе алгоритмов, и у меня возникают проблемы с анализом рекурсивных алгоритмов.

private String toStringRec(DNode d)
{
   if (d == trailer)
      return "";
   else
      return d.getElement() + toStringRec(d.getNext());
}

Это рекурсивный метод, который просто выполняет итерацию по двусвязному списку и распечатывает элементы.

Единственное, что я могу придумать, это то, что его сложность во время выполнения равна O(n), так как количество вызовов рекурсивных методов будет зависеть от количества узлов в DList, но я все еще не уверен. чувствовать себя комфортно с этим ответом.

Я не уверен, следует ли учитывать добавление dи d.getNext().

Или я просто полностью сбился с пути, и сложность времени выполнения постоянна, поскольку все, что он делает, — это извлечение элементов из DNodesв DList?

8
задан Will Ness 19 February 2013 в 08:10
поделиться