Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/319.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
如何找到3Sum.java的渐近复杂性_Java_Time Complexity_Asymptotic Complexity - Fatal编程技术网

如何找到3Sum.java的渐近复杂性

如何找到3Sum.java的渐近复杂性,java,time-complexity,asymptotic-complexity,Java,Time Complexity,Asymptotic Complexity,如何获得ThreeSum.java中函数count和printall的时间复杂度 public static void printAll(int[] a) { int n = a.length; for (int i = 0; i < n; i++) { for (int j = i+1; j < n; j++) { for (int k = j+1; k < n; k++) { if (a

如何获得ThreeSum.java中函数count和printall的时间复杂度

public static void printAll(int[] a) {
    int n = a.length;
    for (int i = 0; i < n; i++) {
        for (int j = i+1; j < n; j++) {
            for (int k = j+1; k < n; k++) {
                if (a[i] + a[j] + a[k] == 0) {
                    System.out.println(a[i] + " " + a[j] + " " + a[k]);
                }
            }
        }
    }
} 


public static int count(int[] a) {
    int n = a.length;
    int count = 0;
    for (int i = 0; i < n; i++) {
        for (int j = i+1; j < n; j++) {
            for (int k = j+1; k < n; k++) {
                if (a[i] + a[j] + a[k] == 0) {
                    count++;
                }
            }
        }
    }
publicstaticvoidprintall(int[]a){
int n=a.长度;
对于(int i=0;i
虽然时间复杂度问题有时很难回答,但这是一个简单的问题。您只需按如下方式查看即可

for (int i = 0; i < n; i++) // it runs for n times
        for (int j = i+1; j < n; j++) // it runs for n-i-1 time
            for (int k = j+1; k < n; k++) // it runs for n-j-1 times

所以这个代码的时间复杂度将是
O(n^3)

请仅在此处发布您的代码。好的,谢谢:)您不必将此评论放在您自己的问题上,如果其他人发现它是重复的,他们会把它放在这里。哦,抱歉:哦,如果它有助于您接受答案,那么其他人也可以从中获得帮助。完成了。那么,如果声明根本不影响时间复杂性?是的,它的合作伙伴分配,但与
n^3
相比,分配很少。对于时间复杂性,我们通常认为循环是程序花费时间的主要原因。
total = n * ( n-i-1 ) * ( n-j-1 ) 
      = n^3 ... // ignoring all other lower power terms