Сложность внутреннего цикла (сумма h*g
)
Поскольку h(j) = Θ(log(j))
и g(j) = O(j)
, сложность h(j).g(j)
равна O(j.log(j))
, то есть <= K.j.log(j)
для K> 0. Следовательно, внутренний цикл дает
K.(1.log(1) + 2.log(2) + ... + (n-1).log(n-1))
<= K'.n^2.log(n)
Для правильно выбранной константы K'
и внутренний цикл дает сложность O(n^2.log(n))
.
Сложность g + f
g = O(n)
и f = O(n^2)
, поэтому сложность f + g
равна O(n^2)
.
Общая сложность
A: Сумма n
условий O(n^2)
для f+g
дает O(n^3)
.
B: Сумма условий j^2log(j)
для 0 <= j < n
дает O(n^3.log(n))
.
Поэтому сложность вашего метода составляет O(n^3.log(n))
.