SDKD 软件18-算法时间复杂度及空间复杂度
本人新手玩家,如有错误欢迎各位积极指正,不胜感激
判断题
1-1

(基础知识题)
1-2

具体增长速度看,函数图像 红色 \({xlog(x^2)}\) 黑色 \({x^2 log(x)}\)

1-3

\({n^n}\) 与 \({2^n}\) ,\(n\)较小时 \({2^n}\) 增长快,具体看图 红色\({n^n}\) 蓝色\({2^n}\)

1-4

答案:F(PTA得分答案:T)。100为常数 so,常数*logN 是 O(logN)的。
1-5

F。1000为常数(NlogN)/常数 是 O(NlogN)的。
1-6

F。当N的取值恰为logN = N的解, 则二者相等
1-7

T。算法的时间复杂度未必与规模正相关。参考题目1-3 n^n 的复杂度。
选择题
2-1

首先找到深度最大的运算是 y++ 语句按照语法 语句将被只执行 \(\sqrt{n}\) 所以选B
2-2

此题最坏情况 \(A > B\) 所以内外两层循环均为\({N^2}\),所以时间复杂度为 \({N^4}\)
2-3

此题为 \(1+2+3+4+……+k\) 的前k项和 ,所以 $$\frac{k^2 + k}{2} < n $$ 语句最多被执行\(\sqrt{n}\)次
2-4

外层循环的时间复杂度是\(N\), 内层循环是无限二分其极限是logN次,故此题选择NlogN
2-5

两层循环的最大次数均为N 所以时间复杂度为 \({N^2}\)
2-6

顺序遍历常数到 \(\sqrt{N}\)之间的所有数,复杂度自然是\(\sqrt{N}\)
2-7

话不多说上图,绿紫黑红 依次对应 ABCD
N较小时 
N较大时
2-8

最坏情况使用三重复杂度为N的循环遍历整个数组,所以时间复杂度为 \({N^3}\)
2-9

(基础知识题)
2-10

(基础知识题)

浙公网安备 33010602011771号