Алгоритм — это не что иное, как пошаговая процедура решения проблемы. Алгоритмы, которые вы чаще всего будете использовать как программист, уже обнаружены, протестированы и проверены. Если вы хотите пройти через блестящие, но непостижимые теории Кнута и многостраничные доказательства, которые вы найдете в большинстве учебников, эта книга для вас. Это полностью иллюстрированное и увлекательное руководство поможет вам научиться эффективно использовать алгоритмы в собственных программах.
Алгоритмы Grokking — это обезоруживающий подход к основной теме информатики. В нем вы узнаете, как применять общие алгоритмы к практическим задачам, с которыми вы сталкиваетесь в повседневной жизни программиста. Вы начнете с таких проблем, как сортировка и поиск. По мере того, как вы наращиваете свои навыки алгоритмического мышления, вы будете решать более сложные задачи, такие как сжатие данных или искусственный интеллект. Пишете ли вы программное обеспечение для бизнеса, видеоигры, мобильные приложения или системные утилиты, вы изучите алгоритмические методы решения проблем, которые, как вы думали, были вне вашего понимания. Например, вы сможете:
Написать программу проверки орфографии, используя графовые алгоритмы
Понять, как работает сжатие данных с помощью кодирования Хаффмана
Выявить проблемы, которые требуют слишком долго, чтобы решать с помощью наивных алгоритмов, и атаковать их с помощью алгоритмов, которые вместо этого дают вам приблизительный ответ
Каждый тщательно представленный пример включает полезные диаграммы и полностью аннотированные образцы кода на Python. К концу этой книги вы будете знать некоторые из наиболее широко применяемых алгоритмов, а также то, как и когда их использовать.