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

时间:2014-05-19 05:56:59

标签: java algorithm

我正在做一个项目。我设计了一个有很多步骤的算法。每个步骤都有for循环,for循环中的循环。但最大的一个是代码,它在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;
                            }
                        }
                    }
                }
            }
        }
    }
}

1 个答案:

答案 0 :(得分:1)

根据可用的稀疏信息,最坏情况的复杂性可能大约为O(con1 * con2 * con3 * con4 * con5( 2*con6 + con3 + con4))