SDKD 软件18-算法时间复杂度及空间复杂度

本人新手玩家,如有错误欢迎各位积极指正,不胜感激

判断题

1-1

1542026-20190831145427795-802972324.png
(基础知识题)

1-2

1542026-20190831145446836-1306343613.png
具体增长速度看,函数图像 红色 \({xlog(x^2)}\) 黑色 \({x^2 log(x)}\)
1542026-20190831145244930-1477533733.png

1-3

1542026-20190831145513588-235698874.png
\({n^n}\)\({2^n}\)\(n\)较小时 \({2^n}\) 增长快,具体看图 红色\({n^n}\) 蓝色\({2^n}\)
1542026-20190901092505946-1975883459.png

1-4

1542026-20190831145535668-968600102.png
答案:F(PTA得分答案:T)。100为常数 so,常数*logN 是 O(logN)的。

1-5

1542026-20190831145547985-1187576649.png
F。1000为常数(NlogN)/常数 是 O(NlogN)的。

1-6

1542026-20190831145557894-1170657874.png
F。当N的取值恰为logN = N的解, 则二者相等

1-7

1542026-20190831145610517-560534432.png
T。算法的时间复杂度未必与规模正相关。参考题目1-3 n^n 的复杂度。

选择题

2-1

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

2-2

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

2-3

1542026-20190831190540008-884095230.png
此题为 \(1+2+3+4+……+k\) 的前k项和 ,所以 \[\frac{k^2 + k}{2} < n \] 语句最多被执行\(\sqrt{n}\)

2-4

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

2-5

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

2-6

1542026-20190831190617137-533247058.png
顺序遍历常数到 \(\sqrt{N}\)之间的所有数,复杂度自然是\(\sqrt{N}\)

2-7

1542026-20190901114122172-1629493872.png
话不多说上图,绿紫黑红 依次对应 ABCD
N较小时 1542026-20190901114619672-1740283759.png
N较大时1542026-20190901114714150-314904035.png

2-8

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

2-9

1542026-20190831190717927-385491809.png
(基础知识题)

2-10

1542026-20190831190729791-745832228.png
(基础知识题)

转载于:https://www.cnblogs.com/YY666/p/11439027.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值