В качестве примеров для обучения взяты реальные задания с международных соревнований по программированию. Вы узнаете, как классифицировать задачи, правильно подбирать структуру данных и выбирать алгоритм для решения. Поймете, что выбор структуры данных — будь то хеш-таблица, куча или дерево —влияет на скорость выполнения программы и на эффективность алгоритма. Разберетесь, как применять рекурсию, динамическое программирование, двоичный поиск.
Никакого условного псевдокода, все примеры сопровождаются исходным кодом на языке Си подробными объяснениями.
Об авторе
Даниэль Зингаро — отмеченный многочисленными наградами адъюнкт-профессор информатики из университета города Торонто. Он известен во всем мире благодаря учебным программам, является автором книг «Алгоритмы на практике» и «Python без проблем».
5 причин купить книгу
- Вы научитесь применять алгоритмы и структуры данных для решения разнообразных хитрых задач.
- Алгоритм поиска в ширину поможет найти выигрышную стратегию в настольной игре или перевести книгу с одного языка на другой.
- Алгоритм Дейкстры подскажет сколько мышей выберутся из лабиринта, и каков кратчайший путь между двумя городами.
- Система непересекающихся множеств пригодится для отслеживания связей в соцсети и выявления союзников и противников в переговорах с большим количеством участников.
- Все примеры сопровождаются исходным кодом на языке Си с подробными объяснениями.