Каждой задаче - свой алгоритм
Традиционно обучение программистов и разработчиков начинается с базовых понятий, среди которых алгоритм - основной. На самом деле с алгоритмами мы сталкиваемся с детства, даже не осознавая, что это. Примерно, как мольеровский господин Журден более сорока лет говорил прозой, на ведая об этом.
Как дойти до школы, доехать до друзей, сделать салат или испечь «шарлотку», собрать велосипед, написать программу составления таблицы умножения, по поисковым запросам пользователя рекомендовать ему товар - для всего этого можно разработать алгоритм. А вот будет он удачным или заведёт в тупик - зависит от умения автора.
Стать настоящим разработчиком и создавать образцовые алгоритмы для разнообразных задач поможет книга Тима Рафгардена «Совершенный алгоритм. Основы». Читатель может изучить схемы и парадигмы разработки алгоритмов, научиться выбирать оптимальные для конкретных задач, отработать основные навыки алгоритмизации и программирования без привязки к конкретному языку и пройти тесты разного уровня - не столько для «закрепления материала», сколько для получения уверенности на уровне «чувствовать пальцами». Описание алгоритмов автор дополняет псевдокодом, а рассказывая о реализации алгоритмов применительно к реальным задачам, объясняет, с какими проблемами можно столкнуться.
Тим Рафгарден - профессор вычислительных наук, науки управления и проектирования в Стэнфордском университете. Там он ведёт курсы по проектированию и анализу алгоритмов. Его работы по теории и приложениям алгоритмов, конфиденциальности данных и другие отмечены наградами научных и инженерных сообществ. Кроме того, его он-лайн лекции и занятия очень популярны у специалистов и начинающих разработчиков.
Этот учебник неоднократно переиздавался на разных языках, а на русском вышел в «Библиотеке программиста» издательства «Питер».
На BOOKS.ru он также доступен в рамках традиционной зимней акции «Киберпонедельник».