„Я не боюсь того, кто изучает 10 000 различных ударов. Я боюсь того, кто изучает один удар 10 000 раз.“ - Брюс Ли
Возможно вы сейчас на этапе подготовки к алгоритмическому собеседованию в Big Tech или просто энтузиаст, который хочет укрепить свои знания алгоритмов. Тогда эта статья для вас!

Список ресурсов в порядке, в котором я бы рекомендовал прокачивать свои алгоритмические навыки:
Grokking Algorithms - классическая книга для тех, кто только начинает изучать алгоритмы: она объясняет ключевые идеи через простые житейские примеры, помогая понять, как и зачем применяются современные алгоритмы на практике.
GetMentor - на платформе можно найти наставника, который поможет разобраться с решением задач и прояснит непонятные моменты. В качестве альтернативы подойдёт и ChatGPT — он умеет доступно объяснять сложные темы и шаг за шагом разбирать алгоритмы.
NeetCode / TechDose - отличные ресурсы с подробными разбором задач и наглядной визуализацией. Если вы где-то застряли или хотите сравнить своё решение с другим подходом, обязательно загляните. Авторы регулярно публикуют видео с ежедневными задачами и их решениями.
LeetCode Explore Cards/Editorial/Solutions - конечно же куда обойтись без ресурсов самой платформы. Темы удобно разбиты по разделам, есть обучающие материалы. Особенно полезно изучать разные подходы к одной и той же задаче — иногда решения оказываются неожиданными, но дают ценные идеи, которые стоит добавить в свой арсенал.
Курсы CSC (1ый и 2ой семестры) - это ценные лекции от Нияза Нигматулина, двукратного чемпиона мира и Европы по ACM ICPC, которые отлично подходят для глубокого понимания алгоритмов.
Introduction to algorithms - отличная книга, которую можно использовать как справочник. Несмотря на обилие строгих математических доказательств, в ней можно найти много полезного и интересного. Она помогает научиться формализовать решения, мыслить через инварианты и применять математическую индукцию. Также рекомендую заглянуть в Telegram-группу «Кормен Клуб» — ребята организуют еженедельные встречи, где обсуждают главы и задачи из книги.
LeetCode/Codeforces Contests - отличный способ прокачать навыки быстрого решения задач под давлением времени. Особенно интересно, что на LeetCode контестах публикуются решения задач от различных AI-моделей (например, Gemini, DeepSeek, Grok) на языках C++, Go, Java, JavaScript и Python — можно сравнить свои подходы с тем, как справляются нейросети. Как думаете, получилось ли у AI уже перегнать вас в решении задачек или еще нет?
Guide to Competitive Programming - по словам самого автора, охватывает большинство ключевых техник, применяемых в спортивном программировании. Приятный плюс — многие темы, представленные в книге, совпадают с разделами задач на LeetCode, что облегчает практику. Единственный небольшой минус — не по всем темам приведены готовые алгоритмы, но изложение достаточно подробное, чтобы самостоятельно реализовать описанные идеи.
Looking for a challenge - если вы решили серьёзно заняться контестами, советую обратить внимание на эту книгу, в которой собраны задачи и решения с польских контестов, проводившихся с 2011 по 2014 год
Advanced Algorithms and Data Structures - отличное продолжение «Grokking Algorithms» для тех, кто хочет углубиться и разобраться в более прикладных и нестандартных задачах, которые редко встретишь на LeetCode. Книга помогает выйти за рамки базовых тем и посмотреть, как алгоритмы используются в реальных сценариях.
P.S. Также вам может быть полезна статья по подготовке к интервью по system design. Поделитсь в комментариях методами, которыми вы используете для изучения алгоритмов.
Комментарии (11)
wataru
10.05.2025 07:56"1K на литкоде" - это 1000 решенных задач? Или речь о каком-то рейтинге?
koreandr94 Автор
10.05.2025 07:56Имеется ввиду количество задач. Но я бы не воспринимал это как конкретную цель. Ведь, как известно, у самурая нет цели, есть только путь)
2tlin
10.05.2025 07:56Как подготовиться к алгоритмичевкой секции в Яндекс хотя бы за месяц? Учу алгоритмы лет пять, но решать их на собесе - это жуть(
koreandr94 Автор
10.05.2025 07:56Если достаточно много задач нарешать, то на собесах решения пишутся автоматом. Также в яндексе периодически проходят weekend offers, где можно решать задачки в режиме контеста (может так будет проще).
loriphu
Очень классная статья, самое то сейчас мне - только начинаю решать литкод и ничего там не понимаю, спасибо! Буду пробовать разбираться
Zara6502
ине тут кинули ссылку на литкод задачу, впервые в жизни туда зашёл - жуткий интерфейс, но привыкнуть можно.
koreandr94 Автор
Сейчас интерфейс активно перерабатывают. В последнее время много обновлений вышло. Думаю, что в будущем будет поприятнее пользоваться, хотя мне и сейчас норм:)
Zara6502
тут как обычно, сначала бесит до боли в зубах, потом просто принятие, а потом вроде бы норм XD На мой взгляд интерфейс Highload.fun поприятнее и поудобнее, понятно что напрямую сравнивать нельзя, но сопоставимые части вполне можно.
wataru
Конечно, дело привычки, но что не так? Ткнуть в задачу - там есть ее текст, есть редактор, есть кнопка "отправить" и "запустить". Что еще надо от системы проверки задач?
Zara6502
перенасыщенный интерфейс, с главной не сразу понятно куда податься, как только привыкните и станете игнорить 90% кнопок и ссылок, то станет конечно проще воспринимать сайт.