下面程序的时间复杂度为:______。 i=0;s=0; while(s<n) {i++;s=s+i;)

admin2010-12-16  32

问题 下面程序的时间复杂度为:______。    i=0;s=0;    while(s<n)  {i++;s=s+i;)

选项 A、
B、O(1)
C、O(n)
D、O(n2)

答案A

解析 本题考查时间复杂度的概念,一个算法是由控制结构和原操作构成的,执行时间取决于两者综合效果。为了便于比较同一问题的不同算法,通常的做法是,从算法中选取一种对于所研究的问题来说是基本运算的原操作,以该基本操作重复执行的次数作为算法的时间度量。
   本题中选加法为基本操作,问题的规模是n,由于s=s+i,可见s以平方的速度增长,该算法总的执行次数为,所以可以求得时间复杂度。
转载请注明原文地址:https://kaotiyun.com/show/xOjZ777K
0

最新回复(0)