我试图找到以下函数的时间复杂度:
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),但我不确定如何证明它。
你是对的。它是 O(n^2)。
经验法则:可以通过计算程序的嵌套循环来分析简单程序。n 项上的单个循环产生 f( n ) = n。循环中的循环产生 f( n ) = n^2。循环内循环内的循环产生 f( n ) = n^3。
您也可以通过以下链接查看,
希望这可以帮助!
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句