本人新手玩家,如有错误欢迎各位积极指正,不胜感激
判断题
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
(基础知识题)