Общая сложность вашего кода на самом деле O(n^4)
, а не O(n^5)
. Условие i == j
будет выполняться один раз для каждого значения в диапазоне двух внешних циклов в i
и j
. Поскольку в каждом из этих циклов есть n^2
возможных значений, i == j
произойдет n^2
раз. Каждый раз, когда это происходит, в k
существует третий цикл, который будет повторяться n
раз. Таким образом, каждый раз, когда происходит i == j
, будет O(n)
штраф. В целом, это проявляется как O(n^3)
событие, которое снижает производительность O(n^4)
двух внешних циклов.
Следовательно, , поведение вашего фрагмента кода по-прежнему O(n^4)
, несмотря на условие i == j
.