java - 大 O N^2 (Log N)

标签 java data-structures big-o

我是 Big O 的新手,对此我有点难过。 我有:

for (int i = 1; i < n*n; i *= 2)

在我看来,这等同于 N^2 * Log N

我说得对吗?还是可以将其简化为 N,因为您使用 n*n 将输入加倍并使用 i *= 2 将其减半?

最佳答案

在这种情况下你有

O(log2(n ^ 2))

这是

O(2 * log2(n))

或者只是

O(ln N)

注意如果n * n > (1 << 30)你将有一个无限循环。

关于java - 大 O N^2 (Log N),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32167525/

相关文章:

java - 使用正则表达式匹配模块代码

arrays - 检查特殊数组方程的子集和

arrays - 左/右旋转数组后最长递增子数组的长度

c++ - 两个for循环,大O理论

算法效率分析

python - 这个函数的大 O 是什么,可以反转字符串中的单词

java - Android - sqlite in 子句使用数组列表中的字符串值?

Java 泛型类,如何为可能的参数类型定义构造函数

Java 停止方法更改传递给它的变量

algorithm - 是否可以查询 O(lg N) 范围内不同整数的数量?