一个关于时间复杂度的问题 (求解)

wangkang 免费考研论坛/2007-08-19

原文内容来自免费考研论坛,请点击查看全文
http://bbs.freekaoyan.com/viewthread.php?tid=168847
i=s=0;
while(s<n)
{
i ;
s =i;
}
请问这段程序的时间复杂度 我算的是O(根号n)
我的解答过程是:假设执行N次,则有1 2 3 ...... N<n 则有 N(N 1)除以2<n, 得到N<O(根号n)
习题上的答案是O(n) 我不知道是为什么 请求高手解答 谢谢
---------------------------------
就是O(N)次,因为i=s=0,循环当中s 始终等于0压!
---------------------------------
ding yi xia

---------------------------------
大哥 能不能说明白点 我还是认为是O(根号n)
---------------------------------
解的没错是根号N
---------------------------------
你看清楚 ,一般对于时间复杂度以几次方为基础的,就是 以 n n^2 n^3 没有以根号的.所以至少都是N
---------------------------------
我的看法:
对于时间复杂度,其是针对算法的,不是针对具体的语句,因此只需选取最大的一个语句频度就行了,因此就是while判断的n次,我没看懂你的1 2 ...... N是怎么来的。故时间复杂度为O(n)

相关话题/

  • 领限时大额优惠券,享本站正版考研考试资料!
    大额优惠券
    优惠券领取后72小时内有效,10万种最新考研考试考证类电子打印资料任你选。涵盖全国500余所院校考研专业课、200多种职业资格考试、1100多种经典教材,产品类型包含电子书、题库、全套资料以及视频,无论您是考研复习、考证刷题,还是考前冲刺等,不同类型的产品可满足您学习上的不同需求。 ...
    本站小编 Free壹佰分学习网 2022-09-19