我遇到了一个例子,想计算这个代码的顺序(时间复杂度)。可能有人帮助我了解如何计算这个代码的顺序:一个基本例子的时间复杂度
f(n)
{
i=0;
while (n>0) {
n=n/10;
i=i+1;
}
return (i);
}
事实上,我认为顺序是O(n/10)
。愿任何专家帮助我吗?
我遇到了一个例子,想计算这个代码的顺序(时间复杂度)。可能有人帮助我了解如何计算这个代码的顺序:一个基本例子的时间复杂度
f(n)
{
i=0;
while (n>0) {
n=n/10;
i=i+1;
}
return (i);
}
事实上,我认为顺序是O(n/10)
。愿任何专家帮助我吗?
时间复杂度为O(log n)
,因为在每次迭代n由10
证明与Master theorem分:你的情况,a = 1
,b = 10
,c = log(a) = 0
,k = 0
,所以T(n)=O(log n)
你是否需要在'O(log n)'时指定基地? – 2014-09-04 19:08:40
不 - 这只是乘以一个常数 – 2014-09-04 19:10:59
请你加一点细节如何使用这个主定理的情况? – user153695 2014-09-04 19:23:19
请格式化的伪代码 – 2014-09-04 18:57:09
亲爱的@CyberneticTwerkGuruOrc,你愿意做,学习我吗? – user153695 2014-09-04 18:58:35
我给你做了一顿。 – 2014-09-04 19:00:43