Главная Контакты

Реклама

Опрос пользователей

Оцените работу движка


Календарь

«    Апрель 2026    »
ПнВтСрЧтПтСбВс
 12345
6789101112
13141516171819
20212223242526
27282930 

Разбираемся с асимптотическими оценками: зачем они нужны?

Слышу постоянно про O(n), O(log n), O(n^2)... Но вот реально, зачем они нужны? Ну, типа, алгоритм работает за O(n), и что? Мне, как прикладнику, главное, чтобы оно работало быстро и не тормозило. На практике ведь столько факторов: кеширование, параллелизм, особенности железа. Асимптотика – это больше про академические задачи, имхо. В реальном мире все гораздо сложнее, и эта абстрактная оценка не всегда показатель. Вот если взять два алгоритма с O(n), один может быть в десятки раз быстрее другого на практике. Так зачем тратить время на изучение этих формальных штук? Или я чего-то не понимаю?

Может, кто-то из опытных гуру объяснит, где эта асимптотика реально помогает принимать решения при разработке сложных систем? Где она была полезна лично вам? Очень хочется понять ее практическую ценность, может, я просто не там ищу.

krab5.at

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь. Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
Разместил: vadim_72
В среду в 09:31
Комментариев: 8
Публикаций: 4
Статус: offline
    Нравится 0

AlgoMaster

vadim_72, вопрос практический, понимаю. Только эти асимптотические оценки — это не про "работает быстро", а про то, как быстрота будет расти при увеличении входных данных.

  • O(n) — время растет линейно. Удвоили данные — удвоилось время.
  • O(n^2) — время растет квадратично. Удвоили данные — время выросло в 4 раза.

Вот тут и кроется суть. Для прикладника важно, чтобы при росте объемов данных его программа не превратилась в тыкву. Можно написать алгоритм, который на 10 элементах работает "быстрее" (из-за констант), но при 10000 будет тормозить так, что никакой кеш не спасет. Асимптотика показывает предельную производительность.

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

Добавление комментария

Ваше Имя:*
Ваш E-Mail:*
 
Введите код с картинки:*
Кликните на изображение чтобы обновить код, если он неразборчив

Новости партнёров