Алгоритмы и структуры данных — это причудливый способ рассказать о том, как мы храним и организуем данные, и о шагах, которые мы предпринимаем для решения проблем, связанных с этими данными. Это похоже на изучение азбуки, вы можете возразить, что никогда не будете использовать азбуку в реальной жизни, но она, несомненно, облегчит чтение этой статьи, не так ли?

В прошлом месяце я обнаружил, что решаю больше алгоритмических задач, и сначала я делал это, потому что знал, что это основное требование для собеседований, но потом мне это начало нравиться, я начал искать способы применить то, что я научились тому, что я делаю каждый день. Я начал думать о шагах по оптимизации и о том, что я должен был сделать по-другому в некоторых из моих старых проектов.

Один из наиболее часто задаваемых вопросов, который сейчас звучит для меня нелепо, хотя я когда-то задавал его, — «Нужны ли фронтенд-инженерам алгоритмы и структуры данных?». Один из ответов на Quora гласил: «А почему бы и нет? Frontend-инженеры не менее инженеры, чем backend-инженеры». и я думаю, что это отвечает на этот вопрос.

Большинство людей возразят, что существуют сложные алгоритмы, которые нам не нужны для ежедневной работы, и я соглашусь. Я только недавно услышал о попытках, и мне определенно не нужно было использовать двоичное дерево, но я не думаю, что это делает их менее важными. Я думаю, что знание того, что они существуют, может открыть наш разум для возможностей того, для чего мы можем их использовать.

Я отправляюсь в путешествие и приглашаю вас отправиться в это путешествие со мной. У меня нет опыта работы с CS, и все, что я знаю, я узнал из таких книг, как Eloquent Javascript, Cracking the Coding Interview, видео на YouTube, W3schools, статей на таких сайтах, как Geek for Geeks и т. д., и у меня есть этот тщательно продуманный план, чтобы перейти от от новичка с алгоритмом и структурами данных до ниндзя или, может быть, секунданта ниндзя.

Итак, столько времени, сколько потребуется, я буду объяснять концепции алгоритмов так, как я их понимаю, решать проблемы по каждой теме и пытаться выиграть время в сегментах горячих мест, а также буду решать некоторые задачи переднего плана. как участие в большем количестве соревнований по кодированию. Я буду публиковать на своем канале — AlgoGirl, и вы можете поставить лайк и подписаться, чтобы ничего не пропустить.