TGViewer
Точка входа в программирование Точка входа в программирование @prog_point · 17.9K subscribers
Post #5196 324
Что Big O говорит о скорости, а что скрывает

Два вложенных цикла не обязательно выполняют ровно n² действий. Здесь рассматриваются только пары разных элементов, причём каждая один раз:

n = 5
pairs = 0
for i in range(n):
for j in range(i + 1, n):
pairs += 1
print(pairs) # 10


Число пар — n(n − 1)/2. При росте n главным становится квадрат, поэтому затраты растут как Θ(n²). Удаление половины сравнений улучшает время, но не меняет этот класс роста.

Разбор Big O объясняет, что такая оценка не обещает конкретное число миллисекунд. На маленьких данных влияют константы и реализация; для реального времени нужен замер.

Всегда уточняйте, что оцениваете: худший случай, средний, время или дополнительную память. Одно O(n) без контекста легко понять неправильно.
  • 🆒 1
More from @prog_point
  1. Oct 16, 2026Рекурсия: базового случая недостаточно У функции есть условие остановки, но выполнение до…
  2. Oct 15, 2026SQL CASE: превращаем категории товаров в подписи CASE выбирает значение для вывода. В учеб…
  3. Oct 14, 2026Как убрать файл из будущего коммита и сохранить правки После git add изменения попадают в…
  4. Oct 14, 2026Почему функция Python помнит старые элементы списка В функции с параметром items=[] пустой…
  5. Oct 14, 2026Почему правило ниже в CSS не меняет цвет ссылки? Порядок записи решает только при равной с…
  6. Oct 13, 2026Post #5190
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →