gpt4 book ai didi

c++ - 计算成本

转载 作者:太空狗 更新时间:2023-10-29 23:31:39 26 4
gpt4 key购买 nike

有没有人知道这两段代码的计算成本是多少?

while (n > 2)
n = sqrt(n);

while (n > 2)
n = log(n);

最佳答案

第二个是 O(log* n)其中 log *iterated logarithm .

分析第一个会产生如下结果:

sqrt(n) = n ^ (1/2)
sqrt(sqrt(n)) = n ^ (1/4)
sqrt(sqrt(sqrt(n))) = n ^ (1/8)
...
sqrt applied k times = n ^ (1/2^k)

考虑第一个算法执行 k次(基本上,我们必须应用 sqrt 直到 n <= 2 的次数)。

考虑这个推理:

n ^ (1/2^k) = p (p <= 2) | ^ (2^k)
n = p ^ (2^k) | log
log n = (2^k) log p | log
log log n = log (2 ^ k) + log log p
log log n = klog2 + log log p
=> k ~= log log n

所以第一个算法是O(log log n) .

关于c++ - 计算成本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3127145/

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