【发布时间】:2020-04-01 01:29:14
【问题描述】:
我在课堂上有一个小测验,但做得不太好。我正在寻找是否有人可以向我解释我在这里做错了什么——当我们搬到网上时,我们的教授忙于办公时间,所以我想我会在这里发帖。
def functionA(n):
level = n
total = 0
while level > 1:
for i in range(0,n):
level = level // 2
total = total + i
return total
我的回答:上面的函数是 O(log n),因为 for 循环在每次迭代中将 level 变量分成两半。
我得到了 5/10 分,但它并没有真正解释它的错误或正确之处。我做错了什么,为什么?
用于证明测验已评分并返回的图片。只是想弄清楚。
【问题讨论】: