Алгоритмы и я 🤓
2#программирование #алгоритмы
Поговорив с желающими подаваться в международные IT-компании, я понял, что у них возникают сложности с изучением алгоритмов. Рассказав нескольким людям о том, как я их изучал и решал, я понял, что может быть довольно полезно, если я напишу об этом.
Главное - это относиться к этому как к марафону, а не к спринту. Систематичные занятия в течение долгого времени, даже если в медленном темпе, лучше, чем интенсивные занятия на порыве мотивации с последующим "выгоранием". Главное - выработать привычку. Я отношусь к этому как к физическим тренировкам. Конечно, круто, если заниматься круглый год, но сезонные занятия тоже приносят результат. Даже помогает прогрессировать эффективнее если не отдыхать слишком долго. Подробнее о ежедневной рутине и совмещении с работой я
писал выше.
Для изучения советую платформу
NeetCode.io. Тут темы разделены как дерева - от фундаментальных к более комплексным. Любую задачу можно найти и в LeetCode, поискав её по названию. Мне было удобнее решать там, а NeetCode я использовал как план обучения. В прошлом году я почти закончил план, а в этом решил все темы, кроме Bit Manipulations. Процесс выглядел следующим образом.
Я составлял расписание на неделю разделяя задачи с NeetCode по дням и следовал ему. Перед тем как приступитьк новой теме, я уделял время на изучение основ, используя любые удобные ресурсы. ИИ может тут очень помочь. Потом я решал все задачи. Помните: нужно относиться к этому как к тренировкам. Каждая тренировка длилась около 1 часа (можно до 2, если есть время). Не стоит уделять больше 40-50 минут на самостоятельное решение задачи. Вне зависимости от того, решил я её самостоятельно или нет, я смотрел ответы в NeetCode. Часто там я находил решение эффективнее, чем у меня. А если не смог решить за отведённое время, просто разбирал решение. Видеообъяснения там очень полезны, если не получается понять. Таким образом, 1–1.5 часа в день вполне достаточно. Если каждый день не получается, можно заниматься 2–3 раза в неделю. Мы же играем в долгую 😉
Как вам подход?