Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 跟踪算法有多复杂?_Java_Algorithm_Time Complexity_Big O - Fatal编程技术网

Java 跟踪算法有多复杂?

Java 跟踪算法有多复杂?,java,algorithm,time-complexity,big-o,Java,Algorithm,Time Complexity,Big O,以下代码的复杂性是什么 public static int foo(int[] a){ int[] b = new int[a.length]; for(int i = 0; i < a.length; ++i){ for(int j = 0; j < b.length / 100; ++j ){ b[i] += a[i] + a[j]; } }

以下代码的复杂性是什么

public static int foo(int[] a){
        int[] b  = new int[a.length];

        for(int i = 0; i < a.length; ++i){
            for(int j = 0; j < b.length / 100; ++j ){
                b[i] += a[i] + a[j];
            }
        }

        int result = 0;
        for(int i = 0; i < b.length; i++ ){
            result += b[i];
        }
        return result;
   }
publicstaticintfoo(int[]a){
int[]b=新的int[a.长度];
对于(int i=0;i
我想会是:

O(1) + O(n)*O(n/100) + O(n) = O(1) + O(n^2/100) + O(n)
所以总体复杂性是
~O(n^2)
公共静态intfoo(int[]a){
//O(1)
int[]b=新的int[a.长度];
//O(a.长度x a.长度)
对于(int i=0;i
}

让我们假设
a
大小
n
,总数:
O(n^2)
+
O(n)
=
O(n^2)

你为什么不告诉我们你认为它是什么(为什么),然后如果你错了,我们可以纠正你?
O(a.length x b.length)+O(b.length)
,通常你可以说它是
O(n^2)
如果
a
大小为
n
public static int foo(int[] a){
    // O(1)
    int[] b  = new int[a.length];

    // O(a.length x a .length)
    for(int i = 0; i < a.length; ++i){
        // O(a.length)
        for(int j = 0; j < b.length / 100; ++j ){
            b[i] += a[i] + a[j];
        }
    }

    // O(1)
    int result = 0;

    // O(a.length)
    for(int i = 0; i < b.length; i++ ){
        result += b[i];
    }
    return result;