@Nazarevsky

Является ли эффективность данного алгоритма O(n*log(n))?

Пишу один код, нужно узнать временную эффективность. Предполагаю, что O(n*log(n)), но не уверен.
Вот код:
int end = 10;

void task1()
            {
                for (int i = 0; i < (int)(end/ 2); i++)
                {
                    // код 1
                }
            }

void mainTask()
            {
               task1();
               while(end != 0)
               {
                  task1();
                  end--;
               }
            }
mainTask();

Как вы понимаете, это примерный код моей программы.
P.S. Забыл дописать. end - длинна массива.
  • Вопрос задан
  • 101 просмотр
Решения вопроса 1
wataru
@wataru Куратор тега Алгоритмы
Разработчик на С++, экс-олимпиадник.
Нет, тут O(n^2). С чего вы там взяли log?
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@vabka
Токсичный шарпист
Похоже на O(1), если внутри цикла происходит O(1), тк тут нет изменяемого параметра, от которого бы менялось время
UPD
если end - это переменная, то будет O(N^2)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы