Как мы можем изучить DSA?

Структура данных с использованием Java не является предпочтительной в компаниях FAANG?

Структура данных с использованием Python, Java или C++, что лучше?

Теперь не буду ходить вокруг да около. Позвольте мне четко заявить, что любая компания масштаба FAANG не ограничивает вас в использовании вашего языка программирования. На самом деле, один из моих очень близких друзей недавно прошел собеседование на уровне FAANG и очистил всю структуру данных в Swift, что является странным выбором языка, но с этим не было никаких проблем.

Какой язык лучше изучать DSA?

Структура данных и алгоритм — это основополагающая концепция, которую должен изучить каждый, но это не означает, что вы должны изучать новый язык программирования, чтобы изучить структуру данных в структуре данных и алгоритме. Проще говоря, алгоритм — это способ решения проблемы различными способами, а затем вы выбираете наиболее эффективный способ решения проблемы. Так что на самом деле не имеет значения, какой язык вы выберете для решения этой конкретной проблемы. Проблема с решением O из n заключается в том, что временная сложность останется O из n временной сложности в Python, Java, C++ и любом другом языке.

Структура данных и алгоритм делают вашу основу программирования намного прочнее. Если вы переходите к изучению нового языка программирования для изучения DSA, вы делаете свою основу слабой, потому что вам еще не комфортно с этим языком программирования.

Когда следует изучать структуру данных и алгоритм?

Мой ответ на этот вопрос всегда был таким: во-первых, убедитесь, что у вас прочная основа программирования; вам очень удобно писать циклы. В алгоритмах вы будете писать циклы тремя разными способами или тремя разными структурами решения задач. Если вам неудобно писать циклы и функции, вы не очень хорошо разбираетесь в структуре данных и в саду. Итак, всегда шаги таковы: во-первых, убедитесь, что вам удобно работать с вашим языком программирования, каким бы он ни был, и после этого убедитесь, что вы создали пару проектов, чтобы вам было немного удобнее с языком программирования, а затем начните ваша структура данных и алгоритм.

Структура данных и алгоритм выглядят очень просто, но в них есть много приемов и советов, которые сделают вас более эффективными программистами. Так что учиться этому всегда хорошая идея. Но для этого есть подходящее время, и я всегда советую создать что-нибудь, освоиться со своим языком программирования, а затем изучить DSA. Да, я могу открыто сказать об этом, выложите это на YouTube в общедоступной платформе, что вы можете использовать любой язык программирования для изучения структуры данных, будь то Swift, C++, C, Python, Java, Swift, JavaScript, даже PHP, любой язык работает абсолютно нормально изучать структуру данных и алгоритм.

Но если это так, то почему этот миф так широко распространен на каждой платформе, что вам следует изучать его только на C или C++?

У меня тоже есть на это причина. Позволь мне объяснить.

Есть еще две вещи, о которых вам следует знать.

Во-первых, означает ли это, что ни один язык программирования не пользуется льготами?

Нет, это не так. Иногда льготы предоставляются и в крупных компаниях. Позвольте мне привести вам пару примеров здесь. Например, допустим, один плюс — это огромный бренд, и этот бренд находится в начальной фазе; они пытаются убедиться, что их Android совместим с их устройствами. В этом случае они больше предпочли бы программистов на C++, и они предпочли бы кандидата, который очищает свою структуру данных и цикл алгоритмов на C++, потому что это их цель. Если какая-то компания находится в начале фазы, они в основном занимаются веб-приложением или чем-то еще; они всегда предпочли бы какого-нибудь программиста, у которого есть прочная основа в React или Angular или в любом другом стеке, который они создают.

Так что да, иногда есть льготные режимы. Эти льготы также имеют место в масштабе FAANG, потому что они также иногда работают над конкретным проектом и хотят, чтобы в их команде были более эффективные люди, владеющие некоторыми другими языками программирования. Все пытаются немного сэкономить, и программист, обладающий специфическими знаниями об этом языке программирования, относящемся к их проекту, сэкономит часть средств. Так что да, иногда есть льготные режимы. Тем не менее, во время интервью они знают, что если кто-то может решить эти проблемы на языке программирования X, изучение языка программирования Y не составит большого труда. Конечно, ведь петля — это всего лишь петля.

Хорошо, вот интересная история, которая прояснит ваше представление о том, почему так много людей до сих пор рекомендуют изучать структуру данных и алгоритмы только на C или C++?

Позвольте мне сказать вам это.

Обычно вы увидите этот совет, который всегда изучает структуру данных с помощью C и C++. Это будет исходить от людей в возрасте (30–35 лет), и это потому, что все люди, которые пришли из старых стилей обучения, включая меня, изучали программирование в эпоху до появления видео; Ютуба в то время не было. В то время интернет был не так часто доступен, интернет был только у богатых парней, и вдобавок у этих людей была скорость интернета 8 кбит/с, а обучение программированию было не так уж и распространено нигде. Мы можем научиться программированию, только пойдя в институт или просто по книгам, и были заброшенные книги по языку C или C++. Найти книгу по Perl или Python было похоже на эксклюзив, который вы каким-то образом получили, и когда кто-то изучал структуру данных и алгоритмы, они изучали их, и я, включая меня, мы изучали это только на C или C++. В то время это было хорошей практикой, язык был не в изобилии, а ресурсы были ограничены. Вот почему мы пришли к этой идее, что мы изучили это с C и C++, так что вы должны, что неверно, все вокруг меняется.

Кроме того, было также очевидно, что такие языки, как Python, становятся все более популярными. Теперь вся идея изучения структуры данных и алгоритма только с помощью C++ или C заключалась в том, чтобы люди не жульничали.

Теперь выслушайте меня; что здесь означает это слово обман?

Теперь в таких языках, как Python, есть несколько пакетов, которые вы можете импортировать, и эти пакеты очень помогут вам в изучении структуры данных с помощью списка ссылок или списка двойных ссылок. Но вся идея заключалась в том, что вы на самом деле не импортируете никаких пакетов; вы строите все из ядра, чтобы вы учились и изучали основы языка программирования, и это была идея, что с C++ пакеты не так много доступны, поэтому вы всегда изучаете структуру данных с C и C++.

Следовательно, стало популярным мнение, что вы всегда должны изучать его с помощью C и C++, что не соответствует действительности. Вы можете изучать структуру данных и алгоритмы на любом языке. Вся идея заключается в том, что независимо от того, используете ли вы Python, Swift или даже PHP, убедитесь, что вы не пытаетесь обмануть; вы не пытаетесь придумать какой-то пакет, который сделает вашу жизнь проще. В то же время, узнать кое-что о списке ссылок. Убедитесь, что вы делаете это абсолютно с нуля, независимо от того, какой язык программирования вы используете. Да, если вам интересно, это 8 кбит/с. Да, это я говорю вам о хорошей эре программирования, раньше скорость была намного ниже, а теперь представьте, что вы загружаете программное обеспечение, которое может запускать ваш код на Python или Perl. или любой другой язык со скоростью 8 кбит/с, откуда большинство наших пациентов.

Итак, теперь у вас есть все факты, почему кто-то рекомендует вам изучать структуру данных с помощью того или иного языка и почему он так говорит?

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

Я надеюсь, что это полезно для вас, ребята, и спасибо за чтение!