我正在做一个项目。我设计了一种算法,该算法有很多步骤。每个步骤都有for循环,在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;
}
}
}
}
}
}
}
}
根据可用的稀疏信息,最坏情况下的复杂度可能约为 O(con1 * con2 * con3 * con4 * con5( 2*con6 + con3 + con4))
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句