gpt4 book ai didi

time-complexity - 为什么像 i=i*2 这样的代码在循环中被认为是 O(logN)?

转载 作者:行者123 更新时间:2023-12-01 18:36:46 25 4
gpt4 key购买 nike

为什么因为 i=i*2,下面循环的运行时间被认为是 O(logN)?

for (int i = 1; i <= N;) {
code with O(1);
i = i * 2;
}

最佳答案

看看 1024 = 210。您需要将数字 1 加倍多少次才能得到 1024?

Times    1   2   3   4    5    6    7    8     9      10
Result 2 4 8 16 32 64 128 256 512 1024

所以你必须运行你的加倍循环十次才能得到 210 通常,你必须运行你的加倍循环 n 次才能得到 2n。但是n是什么?它是 log2 2n,所以通常如果 n 是 2 的某个次方,循环必须运行 log2n 次才能到达

关于time-complexity - 为什么像 i=i*2 这样的代码在循环中被认为是 O(logN)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42753623/

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