下列程序段的时间复杂度为( )
x=n;y=0;
while(x>=(y+1)*(y+1))
y=y+1;
A. O(n) B.O(sqrt(n)) C. O(1) D. O(n2)
y 的最大值大约为 sqrt(n)
y
sqrt(n)
b
设程序在第t次跳出循环,则最大运行次数为(t-1)次,即当y=t-1时代入判断条件,得y^2≤x,得y≤sqrt (x),又x=n,因此其程序运行的时间复杂度为O(sqrt(n))。
这个题是不是出错了?
zyjf 回复 我想上岸啊: 没有啊
月溅星河 回复 我想上岸啊: 题没问题的
B
用户登录可进行刷题及查看答案
登录后提交答案