Знание алгоритмов и структур данных — вот один из ключевых навыков программиста. Промышленные разработчики могут ограничиться и базой: стеки, очереди, хеш-таблицы, алгоритмы сортировки, поиск в глубину и т.д. Но в сфере Research & Development используются гораздо более сложные вещи: деревья отрезков, поиск компонент сильной связности, система непересекающихся множеств, битовые маски, динамическое программирование, sqrt-декомпозиция, потоки в графах, динамическая минимальная выпуклая оболочка… Как во всем этом разобраться?! Не бойтесь, мы поможем вам.
...
Читать дальше »