Ace Your Next Coding Interview by Learning Algorithms through Programming and Puzzle Solving (Alexander S. Kulikov, Pavel Pevzner), дополненный новыми практическими задачами и несколькими тематическими разделами.
Мы уверены, что по-настоящему разобраться в новом материале помогает глубокая практическая проработка — для закрепления новых знаний необходимо попробовать решить задачу и посмотреть на неё под разными углами, задать себе вопросы о возможном применении того или иного подхода, или способах его обобщить.
Обязательно решайте практические задачи, закрепляйте свои знания.
Проверка решений практических заданий проводится автоматически в системе Яндекс Контест. Мы подготовили наборы тестовых примеров, которые покрывают различные возможные ошибки в программной реализации алгоритмов. Если для какой-то из задач вы обнаружите, что решение проходит системные тесты, но при этом не является корректным, присылайте ваши дополнительные тесты, обязательно добавим их в задачу, чтобы улучшить ее качество.
И последнее, на чём хочется заострить внимание: в этой книге мы будем больше фокусироваться на проектировании подходов и создании эффективных алгоритмов — где-то не будем совсем строго доказывать корректность алгоритмов, а где-то только выпишем итоговую трудоемкость, но опять же не будем её строго обосновывать. Корректность и анализ трудоемкости (в худшем случае и в среднем) — очень важные части составления алгоритмов, но всему свое время, давайте погружаться постепенно.
Желаем вам удовольствия от познания нового, а ещё — успешного применения алгоритмических подходов в жизни, при трудоустройстве и в решении практических задач. Надеемся, что вы будете так же радоваться придуманным подходам, как радуемся мы.
Успехов!