Часто слышу вопрос о том, как начать/продолжать изучать алгоритмы. Приведу здесь список материалов, которые могут помочь в этом вопросе. Материалы изложены в том порядке, в котором я бы их рекомендовал, но содержат очень разные подходы к изложению, так что конкретному человеку может подойти что-то из конца списка.
-
Дасгупта Санджой, Пападимитриу Христос, Вазирани Умеш. - "Алгоритмы".
Она выложена в интернете на русском языке (например, тут). Школьникам может быть что-то сложновато, но для начинающих разработчиков/студентов самое то. -
Кормен Томас, Лейзерсон Чарльз, Ривест Рональд, Штайн Клиффорд. "Алгоритмы: построение и анализ".
Великий толстенный учебник, в предисловии которого очень точно сказано, что он подойдет и школьникам, и студентам и? преподавателям и ученым. Его надо уметь читать (пропускать что рано и непонятно, переходить к нужным разделам). Имеет много переизданий. Купить в интернете легко, но можно и найти pdf. -
e-maxx.
Набор алгоритмов от бывшего участника соревнований по программированию. Он вел этот сайт когда был студентом и забросил его. На этом ресурсе много интересного и полезного, но есть существенные недостатки, связанные с тем что писал студент: утверждения иногда содержат ошибки, есть недописанные части, иногда изложение очень сложно понять. -
cp-algorithms.
Перенос статей об алгоритмах с e-maxx. Сайт более свежий (changelog гласит 2022 год), но насколько перенос полный пока затрудняюсь ответить. -
WIKI-конспекты ИТМО.
Очень хорошие тщательные конпекты, написанные профессионалами. Но это именно конспекты, а не учебник, а потому написано суховато. -
WIKI-поддержка курса "Алгоритмы и структуры данных" в УлГУ.
Менее сухое изложение материала, чем в предыдущих вики-конспектах, что можно рассматривать и как плюс, и как минус. -
Окулов Станислав М., Пестов Александр А., Пестов Олег А. - "Информатика в задачах".
Для школьников самое то, на мой вкус. Есть и алгоритмы, и задачи к ним, и решения этих задач. -
Шень Александр. - "Программирование: теоремы и задачи".
Это классика и я не мог ее не привести. На мой вкус, книга устарела. -
Лекции Куликова А. на лекториуме по книге Алгоритмы Дасгупты.
Кому-то может понравиться больше, чем сама книга. Кстати, сам Куликов переводчик ее на русский язык, а редактором был Шень.
Бонус. Кому интересно про JS и его структуры данных (Exotic Objects), можете послушать/посмотреть этого гражданина.