Комментарии 10
Очень полезная статья! Всем советую!

Вот, что такое Big O, все остальное -- ходьба вокруг да около
При оценке алгоритмов нас всегда интересует только худший сценарий развития событий (Worst-case scenario).
Это не так. Оценивается лучший случай, в среднем и худший случай.
В теории может быть набор данных, который превратит хэшмапу в O(N), а быструю сортировку в O(N^2)
И вы об этом дальше сами пишете
Именно с такой сложностью работают нормальные сортировки «под капотом» языков программирования (Merge Sort, Timsort, Quick Sort в среднем случае).
"Грокаем алгоритмы" - лучшая книга по этой теме. Тоненькая и с очень простыми и понятными объяснениями. Эталон в сфере IT-образования.
А у меня termux на android + python (django) web site
Все дело в том что termux а может и другие линуксы не умеют сами по себе tzdata (зоны времени) когда установить через pip и сразу настроить utc Moscow +3 в django сразу летает снова после переноса с одного android на другой
Отличная статья, особенно для новичков!
Единственное, что хотелось бы увидеть
Поиск по хэш-таблице (
dictилиset) — это
Вы бы добавили бы что “амортизированно O(1)” чтобы те самые новички подумали "а как так?" И дошли до понятия коллизии
Я бы назвал главным правилом клуба - отбрасывание константы. Так алгоритм Копперсмита—Винограда имеет меньшую асимптотическую сложность чем алгоритм Штрассена, но из-за скрытой константы используется гораздо реже.
Без придирок и заумства, просто комментарий. Если мы всегда отбрасываем константу в записи, то странным выглядит запись NlogN, где очевидно вторая часть всегда будет очень незначительным числом, т.е. константой и ничем не отличается от записи 2N, 5N, 100N. Видимо есть места, где всегда совсем не всегда…

Понять Big O раз и навсегда