gpt4 book ai didi

java - 算法的复杂性(嵌套循环)

转载 作者:太空狗 更新时间:2023-10-29 16:11:09 26 4
gpt4 key购买 nike

我得到了这样一个算法的代码:

1  sum =0;
2 for(i=0; i<n; i++)
3 for(j=1; j<= n; j*=3)
4 sum++;

有人告诉我这个算法在 O(nlogn) 中运行,其中 log 以 3 为底。所以我得到第二行运行 n 次,并且由于第 3 行独立于第 2 行我必须将两者相乘才能得到大 O,但是,我不确定答案如何是 nlogn(以 3 为基数登录),他们是否保证每次都能解决这个问题?似乎对于嵌套循环,每次都会发生不同的情况。

最佳答案

你被告知的是正确的。该算法运行于 O(nlog(n)) .第三行:for(j=1; j<= n; j*=3)O(log3(n)) 中运行因为你每次乘以 3。为了更清楚地看到它解决问题:你需要将 1 乘以 3 多少次才能得到 n。或者 3^x = n .解决方案is x = log3(n)

关于java - 算法的复杂性(嵌套循环),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34113485/

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