gpt4 book ai didi

algorithm - 具有 i 的乘法增量的循环的复杂性/大 theta

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:55:24 25 4
gpt4 key购买 nike

我试图找到以下的时间复杂度/大 theta:

def f(n):
i = 2
while i <n:
print(i)
i = i*i

我知道如何解决这个问题的唯一方法是找到 i_k 的通用公式,然后求解 i_k >= n 的方程,但是我最终得到了 log(logn/log2)/log(2)方程作为我的 k 值,这对我来说似乎是非常错误的,我不确定如何将其转换为大的 theta 表达式。任何帮助将不胜感激!

最佳答案

实际上,这个答案看起来不错!如果将 log x/log 2 重写为 log2 x(或简称 lg x),则迭代次数为 lg lg n。由于在循环的第k次迭代中i的值为22k,这意味着当i达到值22lg时循环停止lg n = 2lg n = n,匹配循环边界。

更一般地说,一个值在超过 n 之前可以平方的次数是 Θ(log log n),类似地,在将一个数 n 降为常数之前可以求平方根的次数是 Θ( log log n),所以你的答案几乎是你所期望的。

关于algorithm - 具有 i 的乘法增量的循环的复杂性/大 theta,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47149735/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com