作业2-算法的时间复杂度和空间复杂度
一、判断题
解析
1-1 记住即可
1-2前者明显大于后者
1-3N>2时后者快;N<2时前者快
1-6太绝对了
1-7 知乎大佬帮忙解答
二、选择题
N大于等于(y+1)^2; 则y小于等于N^0.5-1; 时间复杂度为n^(1/2)
2-3
下列函数
int func ( int n )
{ int i = 0, sum = 0;
while ( sum < n ) sum += ++i;
return i;
}
的时间复杂度是:B
A.O(logn)
B.O(n1/2 )
C.O(n)
D.O(nlogn)
sum+=++i 也就是 ++i; sum=sum+i ,进行的第K趟循环,sum=(1+k)*k/2 也就是需要进行O(n^0.5)趟循环
此为复杂度
外层为N,内层为logN,总复杂度为NlogN
2-6
要判断一个整数N(>10)是否素数,我们需要检查3到√N 之间是否存在奇数可以整除N。则这个算法的时间复杂度是:B
A.O(N/2)
B.O(√N )
C.O(√N logN)
D.O(0.5logN)