Задать вопрос
@undying234

Какая сложность у такого цикла for?

...
for(unsigned int i = 1; i<N;i<<=1){
    ...какие-то вычисления
}
...

Я очень плохо разбираюсь в оценке сложности, но мне кажется его сложность будет O(logN). Так ли это? И если нет, то какая его сложность?
  • Вопрос задан
  • 141 просмотр
Подписаться 1 Средний Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Разработчик C++
    9 месяцев
    Далее
  • Яндекс Практикум
    Мидл разработчик С++
    4 месяца
    Далее
  • Яндекс Практикум
    Разработчик C++ расширенный
    12 месяцев
    Далее
Решения вопроса 1
wataru
@wataru
Разработчик на С++, экс-олимпиадник.
Так.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
wisgest
@wisgest
Не ИТ-специалист
Да. Цикл выполнится столько раз, сколько значащих двоичных цифр в N. Количество цифр в записи натурального числа N без возможных незначащих ведущих нулей приблизительно равно его логарифму (целая часть логарифма N+1 по основанию системы счисления).
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы