gpt4 book ai didi

algorithm - 这个小代码片段的大 O 是什么?

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

for i := 1 to n do
j := 2;
while j < i do
j := j^4;

当涉及到 Big-O 表示法时,我真的很困惑,所以我想知道它是否是 O(n log n)。这是我的直觉,但我无法证明这一点。我知道 while 循环可能比 log n 快,但我不知道快多少!

编辑:插入符号表示指数。

最佳答案

问题是 while 循环针对给定 i 执行的迭代次数.

在每次迭代中 j:= j^4并在开头j := 2 ,所以在 x 之后迭代 j = 2 4^x

j < i相当于x < log_4(log_2(i))

我敢声明,复杂度是 O(n * log_4(log_2(n)))

您可以去掉大 O 表示法中的常数因子。 log_4(x) = log(x) / log(4)log(4)是一个常数。同样,您可以更改 log_2(x)log(x) .复杂度可以表示为O(n*log(log(n)))

关于algorithm - 这个小代码片段的大 O 是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3631548/

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