java - Java 嵌套循环的大 O 表示法

标签 java algorithm for-loop big-o nested-loops

我知道 Big O 的各种速率,例如 O(n^2) 和 O(n),并且可以毫无问题地确定简单嵌套 for 循环的 Big O 值,如下所示。

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

下面的循环显然是 O(n^2),但是当内部嵌套循环依赖于外部循环时,如何求解大 O。 示例

for ( int i = 0; i < n; i++)
    for (int j = n - 1; j >= i; j--)
    //Simple Statement

T(n) 会是 n*(n-1-i) 吗?

在此先感谢您的帮助!

最佳答案

还是n^2阶。您只关心最重要的术语。第二个表达式看起来像是 O(n^2 - an) 行,其中 a 是某种系数。您真正关心的是 n^2。

关于java - Java 嵌套循环的大 O 表示法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32446943/

相关文章:

java - 遍历 jar 文件中的类

algorithm - 将 4 步 PCAM(福斯特方法)应用于并行算法设计的示例?

for-loop - WMIC 最后修改包含在 for 循环中

java - 许多线程等待锁定对象,但没有线程持有该锁

java - 自定义列表类,如何循环hasNext方法?

java - 如何通过共享对象正确使用信号?

string - 从字符串 'A' 中删除最少的字母以删除字符串 'B' 的所有实例

algorithm - 了解数字的奇偶性

python 处理子进程

javascript - 当两行与另一列的总和相同时返回数组中的单行