嵌套循环的平均时间复杂度

时间:2017-04-10 06:37:45

标签: loops for-loop nested time-complexity

我试图找到以下函数的时间复杂度:

for (int i = 0; i < arraySize; i++) { 
    for (int j = 0; j < arraySize; j++) { 
        if (array[j] < array[i]) { 
            //Do something
        }
        else if (array[j] == array[i]) { 
            //Do something else 
        }
    }
}

我认为它是O(n ^ 2),但我不确定如何证明它。

1 个答案:

答案 0 :(得分:2)

你是对的。它是O(n ^ 2)。

经验法则:可以通过计算程序的嵌套循环来分析简单程序。 n个项目上的单个循环产生f(n)= n。循环内的循环产生f(n)= n ^ 2。循环内循环内的循环产生f(n)= n ^ 3.

您还可以使用以下链接查看

How to find time complexity of an algorithm

希望这有帮助!