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


(基础知识题)

原文地址:https://www.cnblogs.com/YY666/p/11439027.html