ДА,Структуры данных и Алгоритмы — отличительные черты хорошего разработчика программного обеспечения. Структура данных — это именованное место, которое можно использовать для хранения и организации данных. И алгоритм — это набор шагов для решения конкретной проблемы. Изучение структур данных и алгоритмов позволяет нам писать эффективные и оптимизированные компьютерные программы.
Основная причина изучения структур данных и алгоритмов заключается в том, что они в значительной степени улучшают навыки решения проблем кандидата.
Давайте посмотрим на различные типы структур данных:
- Массив
- Вектор/Список массивов
- Матрица
- Строка
- Связанный список
- Стек
- Очередь
- Дек
- Приоритетная очередь
- Двоичное дерево
- Летнее время
- Куча
- График
- Установить
- Карта
- Несколько наборов
- Мультикарта
- Набор хешей
- Хэш-карта
- Пары
- Попробовать
- Дерево сегментов
- Дерево Фенвик
- Разреженная таблица
Давайте посмотрим на различные методы и алгоритмы:
- Линейный и бинарный поиск
- Сортировка
- Обмен
- Два указателя
- Три указателя
- Разделяй и властвуй
- Скользящее окно
- Теория чисел
- Арифметика по модулю
- Сумма префикса
- Жадный
- Рекурсия
- Откат
- Хеширование
- Динамическое программирование
- Битовые манипуляции
- Алгоритм Кадане
- Алгоритм KMP
- Алгоритм Рабина Карпа
- Алгоритм Мура Бойера
- Z-алгоритм
- Алгоритм Брайана Кернигана
- Решето Эратосфена
- Сегментированное сито
- Теорема HCF и LCM
- Основная теорема
- Базовый и расширенный алгоритм Евклида
- BFS и DFS
- Алгоритм Крускала
- Алгоритм Прима
- Алгоритм Дейкстры
- Алгоритм Беллмана Форда
- Алгоритм Флойда Уоршелла
- Алгоритм Джонсона
- Китайская теорема об остатках
- Теорема Вильсона
- Алгоритм Мо
- Теорема Эйлера
- Комбинаторика и каталонские числа
- Принцип голубиной норы
- Принцип включения-исключения
Теперь давайте посмотрим на некоторые веб-сайты для практики структур данных и алгоритмов:
- Ранг хакера
- Хакер Земля
- Гики для гиков
- Лучший программист
- Шеф-повар
- Принудительные меры
- LeetCode
- Краткое интервью
- СПОЖ
Теперь пришло время познакомиться с некоторыми популярными IDE для начала:
- Dcoder
- Код Visual Studio
- Интеллектуальная ИДЕЯ
- Возвышенный текст
- PyCharm
- Атом
- Затмение
- Блоки кода
- NetBeans
- Спайдер
После этого давайте поговорим о некоторых известных платформах для бесплатного изучения структур данных и алгоритмов:
- Индивидуальное обучение
- Кемпинг FreeCode
- Курсера
- Удеми
- EDEX
- Наглость
- Кодексакадемия
- Школы W3
- Hackr.io
- Курс Google DSA
Хотя есть некоторые платформы, на которых вы также можете пройти платный курс, например PrepBytes, Coding Ninjas, Algo Expert, Geeks for Geeks, upGrad и т. д.
И есть несколько очень хороших руководств на YouTube бесплатно, т.е.
- Кунал Кушваха Java + DSA + подготовка к интервью [английский]
- Курс «Введение в C и структуру данных» от My Code School [английский]
- Курс CodeWithHarry по структурам данных и алгоритмам [хинди]
- Apna College C++ и полный курс DSA по Java [хинди]
- Один курс DSA от Ануджа Бхайи [хинди]
- Текущий курс DSA от Love Babbar для размещения на C++ [хинди]
- Структура данных. Саураб Шукла Сэр [хинди]
Вы также можете порекомендовать Aditya Verma, PepCoding, Take U Forward, Tech Dose за невероятный контент.
Примечание: очень жаль, если я пропущу кого-то, так как есть другие ютуберы, IDE, курсы, веб-сайты для кодирования. Вы можете написать свой любимый в комментариях.
Наконец-то: если вы нашли это полезным, не забудьте поставить лайк и поделиться им с друзьями.