gpt4 book ai didi

java - 大O复杂度java

转载 作者:搜寻专家 更新时间:2023-10-31 19:32:46 24 4
gpt4 key购买 nike

我是 Java 新手,我的问题是大 O 复杂性。

对于 a),显然 O(n^2) 是一个嵌套循环。

for ( int i = 0; i < n; i++)
for ( int j=0; j < n; j++ )

但是,对于 b),在末尾有 sum++ 操作,并且嵌套循环中的复杂性是否会改变它的 Big-O 复杂性?

int sum = 0;
for ( int i = 1; i <= n; i++)
for ( int j = n; j > 0; j /= 2)
sum++;

最佳答案

在你的第二个例子中,第一个 for 迭代 n 次,第二个迭代 log2(n) 次,因为你除 j 在每次迭代中被 2 。因此,复杂度为O(n log2 n)。

最后一行的

sum++不影响复杂度。

关于java - 大O复杂度java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30209833/

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