Материалы по продвинутым алгоритмам и структурам данных

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

Представляем вам подборку материалов, которые помогут вам разобраться в сложном и увлекательном мире Computer Science:

  • e-maxx — наверное, наиболее полный сборник алгоритмов и их реализаций во всем Интернете;
  • Algolist — кроме алгоритмов есть введение в компьютерную графику и криптографию;
  • Викиконспекты от студентов ИТМО. Кроме Computer Science есть и немного математики;
  • topcoder tutorials — обучающие статьи от победителей и призеров олимпиад по программированию;
  • algosaurus — блог о алгоритмах, написанный в шуточном стиле и щедро сдобренный красочными картинками;
  • курс по Computer Science от MIT;
  • видеозаписи лекций ЛКШ — Летней Компьютерной Школы, в которой в то или иное обучались почти все спортивные программисты в России. Возможно, и вы были там — тогда это замечательная возможность поностальгировать;
  • подробное объяснение многих продвинутых структур данных;
  • видеокурс по Computer Science от IIT;
  • Computer Science Stack Exchange — это как Stack Overflow, но по Computer Science.

Александр Курилкин