我到处搜索,似乎找不到很多与运行时复杂性、递归和 java 相关的材料。
我目前正在我的算法课中学习运行时复杂性和 Big-O 表示法,并且在分析递归算法时遇到了麻烦。
private String toStringRec(DNode d)
{
if (d == trailer)
return "";
else
return d.getElement() + toStringRec(d.getNext());
}
这是一种递归方法,它将简单地遍历双向链表并打印出元素。
我唯一能想到的是它的运行时复杂度为 O(n),因为递归方法调用的数量将取决于 DList 中的节点数量,但我仍然觉得不舒服这个答案。
我不确定我是否应该考虑添加d
and d.getNext()
。
或者我只是完全偏离轨道并且运行时复杂性是恒定的,因为它所做的只是DNodes
从DList
?