Не могли бы вы помочь мне прояснить, в чем сложность следующего фрагмента кода, где я перебираю "не посещаемые" элементы в массиве на каждом шаге?
final int[] arr = {...};
for (int i = 0, length = arr.length; i < length; i++) {
System.out.print(arr[i]);
for (int j = i + 1; j < length; j++) {
System.out.print(arr[j]);
}
}
Могу поспорить, что это O(NlogN)
или O(N√N)
, где N
равно arr.length
Я прав?Не могли бы вы объяснить мне, почему?
Я думаю, что это O(NlogN)
или O(N√N)
, потому что на каждом шаге "не посещаемая" часть уменьшается, поэтому она меньше, чем O(N^2)
, но все же больше, чем O(N)
* 1016.*