Структуры данных и алгоритмы являются важной частью любых собеседований по техническим вопросам и программированию. Крупные транснациональные корпорации, такие как Google, Microsoft и Apple, предпочитают DSA в качестве фактора найма. И DSA останется частью интервью MNC в будущем.

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

Привет всем 👋,

Добро пожаловать в очередную интересную статью! Вы рады узнать о реальных приложениях структур данных и алгоритмов? Да, я! Итак, без лишних слов приступим.

Массив:

  1. Двумерные массивы (матрицы) в основном используются в обработке изображений.
  2. Изображение RGB использует трехмерную матрицу.
  3. Двумерные массивы также используются в дизайне игр, таких как судоку, шахматы.
  4. Таблица лидеров игр или соревнований по программированию.

Стек:

  1. Используется в возврате, проверяет правильность скобок в выражении.
  2. Оценка инфиксных и постфиксных выражений.
  3. Используется в рекурсивных вызовах функций для хранения вызовов функций и их результатов.
  4. Отмена и повтор операций в текстовых процессорах, таких как MS-Word и Блокнот.
  5. История просмотра посещенных веб-сайтов.
  6. История звонков/журнал в мобильных телефонах.
  7. Виртуальная машина Java использует стек для хранения немедленных результатов вычислений.

Очередь:

  1. Операционная система Windows использует циклическую очередь для переключения между различными приложениями.
  2. Используется в алгоритме планирования заданий/процессоров First Come First Serve, который следует порядку FIFO.
  3. Все запросы ставятся в очередь для ответа сервера.

Приоритетная очередь:

  1. Очередь с приоритетом используется в алгоритме приоритетного планирования и обработки прерываний в ОС.
  2. Используется в кодировании Хаффмана в алгоритмах сжатия.
  • Связанный список:
  1. Предыдущая и следующая страница в веб-браузере.
  2. Песни в музыкальном проигрывателе связаны с предыдущей и следующей песнями с помощью двусвязного списка.
  3. Следующее и предыдущееизображения в телефонной галерее.
  4. Несколько приложений, работающих на ПК, используют циклический связанный список.
  5. Используется для реализации стеков, очередей, деревьев и графиков.

График:

  1. В Facebook, LinkedIn и других сайтах социальных сетей пользователи считаются вершинами, а граница между ними указывает на то, что они подключены.
  2. Graph API Facebook и Google Knowledge API — лучшие примеры grpah.
  3. Карты Google, Yahoo Maps и Apple Maps используют график для отображения кратчайшего пути с помощью поиска в ширину (BFS).
  4. Используется в HTML DOM и React Virtual DOM.

Дерево:

  1. Структура представления в Проводнике файлов. (Папки и подпапки) использует N-арное дерево.
  2. Автопредложения, когда вы что-то гуглите с помощью Trie.
  3. Используется в алгоритмах машинного обучения, основанных на принятии решений.
  4. Используется в обратном отслеживании для поддержки дерева пространства состояний.
  5. Двоичное дерево используется при индексировании базы данных для эффективного хранения и извлечения данных.
  6. Для реализации структуры данных Heap.
  7. Двоичные деревья поиска (BST) можно использовать в алгоритмах сортировки.
  • Алгоритм Дейкстры:

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

  • Алгоритм Примса:

Это жадный алгоритм для получения минимального остовного дерева.

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

Это все для этой статьи. Я надеюсь, что это поможет вам получить некоторое представление о DSA.

Если вы нашли эту статью полезной, проявите свою любовь, несколько раз нажав кнопку хлопка. 🙌

Еще от Прачи Джамдаде

https://medium.com/gitconnected/make-your-android-studio-look-awesome-ec982d1e0dfe