11.1. Спасибо!

Это последняя статья в курсе. Надеемся, вам было интересно и вы узнали для себя что-то новое.

На этом курсе мы рассмотрели:

  • Что такое алгоритм и как отличить «хороший» алгоритм от «плохого».
  • Какие структуры данных уже существуют в JavaScript. Как правильный выбор способа хранения данных упрощает решение задач.
  • Как можно искать по данным, как делать это быстрее, чем полным перебором.
  • Как «Разделять и властвовать» над сложными задачами и превращать их в простые.
  • Когда может пригодиться сортировать массивы вручную, не полагаясь на встроенные функции.
  • Что представляют собой деревья и графы, как с ними работать.
  • Внутреннее устройство Map и почему она такая быстрая.
  • Как работает исполнение кода в JavaSctipt. Как взаимозаменять разные реализации одной и той же задачи.
  • Почему жадность может помочь в решении задач.
  • Как решать то, где жадность не помогает.

Спасибо, что дошли до конца, и удачи в применении полученных знаний на практике! Удачных прохождений собеседований по алгоритмам!

Этот курс — хорошая база для начала использования алгоритмов в повседневной жизни, а если вы хотите познакомиться с ними поближе, то в этом помогут следующие книги:

Адитья Бхаргава «Грокаем алгоритмы. Руководство. Иллюстрированное пособие для программистов и любопытствующих»

Многие темы, которые рассматриваются в этом курсе, объясняются и в этой книге. Поэтому её прочтение — хороший способ освежить полученные знания, а также узнать о нескольких интересных алгоритмах, пусть и не очень применимых во фронтенде. Она написана простым языком и легко читается без академических знаний.

Дональд Кнут «Искусство программирования»

Это огромная фундаментальная монография о важнейших и базовых алгоритмах, которые нами используются. Можно сказать, что это своего рода «Библия» алгоритмов. Читается гораздо тяжелее, а язык академический. Не переживайте, если не получится прочитать её от корки до корки — материал сложный. Лучше выберите несколько тем, которые вам интересны, и сконцентрируйтесь на них.

Харольд Абельсон, Джеральд Сассман «Структура и интерпретация компьютерных программ»

Хоть она затрагивает не совсем алгоритмическую сторону программирования, но зато учит важным концептам, о которых вы будете вспоминать каждый день. Советуем ознакомиться с этой книгой, а если соберётесь читать — лучше берите версию с примерами на LISP: она «каноничнее».

Впереди вас ждёт заключительный тест, с помощью которого можно проверить свои знания по всему пройденному материалу.