Если мой оператор завершения в цикле for i <n * n, будет ли мое время выполнения O (n ^ 2)? - PullRequest
0 голосов
/ 23 июня 2019

Так что я немного запутался в том, как правильно интерпретировать время выполнения этого цикла for: for (int i = 0; i

Я знаюОсновы O-нотации я просто не уверен, как правильно интерпретировать время выполнения, и я не смог найти похожие примеры.

Проблема в том, что в цикле используется тройное гнездо, и я знаю, что вы просто умножаете время выполнениявложенных циклов, но этот делает меня неуверенным.

1 Ответ

1 голос
/ 23 июня 2019

Да.

n , умноженное на себя, равно n 2 , и вы выполняете n 2 итераций.

В этом коротком примере нет постоянных факторов и других соображений.

Сложность просто O (n 2 ).

Обратите внимание, что здесь не учитываются гипотетические операции, выполняемые внутри цикла.Также обратите внимание, что если мы возьмем цикл точно по номиналу, он на самом деле не будет выполнять какую-либо значимую работу, поэтому мы могли бы сказать, что он не имеет алгоритмической сложности вообще.Вам нужно будет привести реальный пример, чтобы действительно сказать.

...