【发布时间】:2016-02-12 22:11:27
【问题描述】:
我在期中遇到了这个问题,我不确定我的答案是 O(n^2) 我想要有解释的答案,谢谢。
int recursiveFun1(int n)
{ for(i=0;i<n;i+=1)
do something;
if (n <= 0)
return 1;
else
return 1 + recursiveFun1(n-1);}
【问题讨论】:
-
不,首先你的方法。 “我想要解释的答案”听起来很粗鲁。注意你的语言。
-
您的标题显示为“Big O”,但在您的文本中,您使用的是小写“o”。请注意these mean different things,所以请准确。此外,
do是 C++ 中引入循环的关键字。如果你改写do_something()会更清楚。 -
令人印象深刻的是,您甚至懒得合理地格式化代码。
-
答案是 O(n^2)除非
do something中的something不是 O(1)。