У меня есть кусок кода, который выполняет три вложенные для петель следующим образом (написано как язык агностика, как это возможно):сложность Время вложенной для различных структур цикла
for i = 0 to n - 1
for j = 0 to n - 1
for k = 0 to n - 1
[do computation in linear time]
Моей интуиция говорит, что это должно привести к в сложности N^3. Я хотел бы сравнить его сложность следующих вложенных циклов:
for i = 0 to n - 1
for j = i + 1 to n - 1
for k = j + 1 to n - 1
[do computation in linear time]
Логически, это должно быть быстрее, потому что, как i
увеличивается, внутренние циклы должны вычислить быстрее; однако, увидев на сайте множество других потоков, объясняющих, что последний из них также N^3 запутан.
Является ли мое предположение о N^3 для обоих правильных, и если да, то как я могу количественно определить различия, если они есть?