【发布时间】:2012-03-02 21:34:52
【问题描述】:
我搜索了很多,似乎找不到很多与运行时复杂性、递归和 java 相关的材料。
我目前正在我的算法课中学习运行时复杂性和 Big-O 表示法,但我在分析递归算法时遇到了麻烦。
private String toStringRec(DNode d)
{
if (d == trailer)
return "";
else
return d.getElement() + toStringRec(d.getNext());
}
这是一种递归方法,它将简单地遍历双向链表并打印出元素。
我唯一能想到的是它的运行时复杂度为 O(n),因为递归方法调用的数量将取决于 DList 中的节点数量,但我仍然没有对这个答案感到满意。
我不确定是否应该考虑添加 d 和 d.getNext()。
或者我只是完全偏离轨道并且运行时复杂性是恒定的,因为它所做的只是从DList 中的DNodes 检索元素?
【问题讨论】:
标签: java recursion big-o time-complexity tailrecursion-modulo-cons