Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/10.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.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 - Fatal编程技术网

Java 如何计算给定代码的时间复杂度?

Java 如何计算给定代码的时间复杂度?,java,algorithm,Java,Algorithm,我在做一个项目。我设计了一个有很多步骤的算法。每个步骤都有for循环,for循环中的for循环。但是最大的一个是below代码,它在for循环中有许多for循环。我猜对于算法中的所有步骤,时间复杂度最高的步骤就是算法的复杂度。但我不知道如何计算算法的时间复杂度。你能告诉我如何计算时间复杂度吗。代码如下 for (z = 0; z <con1; z++) { outer: for (m = 0; m < con2; m++) { if () {

我在做一个项目。我设计了一个有很多步骤的算法。每个步骤都有for循环,for循环中的for循环。但是最大的一个是below代码,它在for循环中有许多for循环。我猜对于算法中的所有步骤,时间复杂度最高的步骤就是算法的复杂度。但我不知道如何计算算法的时间复杂度。你能告诉我如何计算时间复杂度吗。代码如下

for (z = 0; z <con1; z++) {

    outer:
    for (m = 0; m < con2; m++) {
        if () {

            for (i = 0; i < con3; i++) {         
                if () {

                    for (k = 0; k < con4; k++) {

                        for (j = 0; j < con5; j++) {
                            if () {

                                for (l = 0; l < con6; l++) {

                                }

                                for (r = 0; r < con3; r++) {
                                    if () {

                                    }
                                }

                                for (n = 0; n < con6; n++) {

                                }

                                for (s = 0; s < con4; s++) {
                                    if(){   

                                    }
                                }

                                break outer;
                            }
                        }
                    }
                }
            }
        }
    }
}

for(z=0;z基于可用的稀疏信息,最坏情况的复杂性可能是按照
O(con1*con2*con3*con4*con5(2*con6+con3+con4))

给定这里的稀疏代码,您能告诉我们每个
if
语句的真/假条件的概率吗?每个“if”在退出代码之前,至少有一次是真的。如果我把数字输入con1,con2..比如con1=10,con2=260,con3=53,con4=53,con5=260,con6=9,然后计算时间复杂度,答案是什么,会是纳秒吗?因为如果计算出来,它会变成一个非常大的数字。@user3552285似乎你不太了解时间点复杂性…它不应该给你一个硬性数字来告诉你算法运行需要多长时间。插入数字是没有意义的。确切地说,这是算法性能的上限。请查看@user3552285事实上,如果
con
中的每一个都是常量,那么从技术上讲,你的算法将有O(1)复杂性(如果内存可用),因为运行时间的上限与输入无关