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


(基础知识题)

posted @ 2019-08-31 14:53  YuKi_hahaha  阅读(302)  评论(0编辑  收藏  举报