gpt4 book ai didi

algorithm - 我如何找到这个 block 的 theta 符号?

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

block 是:

    i=2  
while(i<n){
i=i*i;
x=x+1;
}

我需要找到表示 x=x+1 执行次数的 theta 符号。我创建了一个包含一些示例值的表,但我无法弄清楚如何从那里继续前进。这是我的示例值:

(n) - (# times looped)  
3 - 1
5 - 2
20 - 3
400 - 4

最佳答案

考虑这一点的一种方法是跟踪循环中 i 的值。在第一次迭代之前,该值为 2 = 21。第二次迭代后,它是 4 = 22。第三次迭代后,它是 16 = 24。在第四次迭代之后,它是 256 = 28。在第五个之后,它是 65,536 = 216

可以看到,循环k次后,i的值为22k。这意味着迭代次数将(大致)对应于 k 的最低值,使得

22k ≥ n

两边取对数两次,我们得到

22k ≥ n

2k ≥ log2 n

k ≥ log2 log2 n

所以循环迭代次数大致为log2 log2 n。因此,循环运行 O(log log n) 次。更准确地说,循环运行 Θ(log log n) 次,因为直到 k 次迭代结束后循环才会停止。

希望这对您有所帮助!

关于algorithm - 我如何找到这个 block 的 theta 符号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14594089/

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