Применение структур данных в реальном времени

Опубликовано: 6 Октября, 2022

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

Применение массивов:

Массивы — это простейшие структуры данных, в которых хранятся элементы данных одного типа. Основным применением массивов может быть хранение данных в табличном формате. Например, если мы хотим сохранить контакты на нашем телефоне, программа просто поместит все наши контакты в массив.

Некоторые другие применения массивов:

  1. Упорядочить таблицу лидеров игры можно просто с помощью массивов для хранения очков и упорядочить их в порядке убывания, чтобы четко определить ранг каждого игрока в игре.
  2. Простой вопросник Бумага представляет собой набор пронумерованных вопросов, каждому из которых присвоено несколько баллов.
  3. Двумерные массивы, широко известные как матрицы, используются при обработке изображений.
  4. Он также используется при обработке речи, в которой каждый речевой сигнал представляет собой массив.
  5. Ваш экран просмотра также представляет собой многомерный массив пикселей.
  6. Названия книг в системе управления библиотекой.
  7. Онлайн бронирование билетов.
  8. Контакты на мобильном телефоне.
  9. Для планирования ЦП в компьютере.
  10. Хранить возможные ходы шахмат на шахматной доске.
  11. Для хранения изображений определенного размера на андроиде или ноутбуке.

Применение строк:

  1. Обнаружение спама по электронной почте.
  2. Обнаружение плагиата.
  3. Поисковый движок.
  4. Цифровая криминалистическая и информационно-поисковая система
  5. Проверка орфографии.
  6. В базе данных проверить действительную информацию о пользователе

Применение матрицы:

Матрица представляет собой упорядоченный набор столбцов и строк элементов. Элементы матрицы необходимо заключать в скобки.

Некоторые приложения матрицы:

  1. В геологии матрицы используются для проведения сейсморазведки.
  2. Используется для построения графиков и статистики, а также для проведения научных исследований и исследований практически в разных областях.
  3. Матрицы также используются для представления реальных данных, таких как численность населения, уровень детской смертности и т. д.
  4. Это лучшие методы представления для составления графиков опросов.
  5. Для преломления и отражения в научной оптике.
  6. Электронная схема и квантовая физика.
  7. Медиа плеер.
  8. Список рассылки.
  9. Создание таблицы символов.

Применение связанных списков:

Связный список — это структура данных последовательности, которая соединяет элементы, называемые узлами, посредством ссылок.

Некоторые другие приложения связанного списка:

  1. Изображения связаны друг с другом. Таким образом, программное обеспечение для просмотра изображений использует связанный список для просмотра предыдущего и следующего изображения с помощью кнопок «Предыдущий» и «Следующий».
  2. Доступ к веб-страницам можно получить, используя предыдущую и следующую URL-ссылки, которые связаны с помощью связанного списка.
  3. Музыкальные проигрыватели также используют ту же технику для переключения между музыкой.
  4. Для отслеживания ходов в многопользовательской игре используется круговой связанный список.
  5. Рисунки и фигуры MS-Paint связаны через связанный список на холсте.
  6. Эскалаторы — круговой связанный список.
  7. Каждая строка кода в среде IDE представляет собой запись в двусвязном списке.
  8. Свайп влево/вправо в Tinder использует двусвязный список.
  9. Контент социальных сетей «подает».
  10. Используется для управления таблицей символов в проектирующем компиляторе.
  11. Используется при переключении между приложениями и программами (Alt+Tab) в операционной системе (реализовано с помощью Circular Linked List)
  12. Вагоны поезда связаны друг с другом в виде двусвязного списка.
  13. Его можно использовать для реализации стеков, очередей, графиков и деревьев.
  14. Для выполнения операции отмены.
  15. Кнопка «Назад».[LIFO]
  16. Синтаксис в редакторе кода.
  17. История посещенных страниц.

Применение стека:

Стек — это структура данных, использующая порядок LIFO.

Некоторые приложения стека:

  1. Преобразование инфиксных выражений в постфиксные.
  2. Кнопка Undo/Redo/операция в текстовых процессорах.
  3. Синтаксисы в языках разбираются с использованием стеков.
  4. Он используется во многих виртуальных машинах, таких как JVM.
  5. Перемотка вперед-назад в браузере.
  6. История посещенных веб-сайтов.
  7. Журналы сообщений и все сообщения, которые вы получаете, расположены в стеке.
  8. Журналы вызовов, электронная почта, любая галерея фотографий Google, загрузки с YouTube, уведомления (последние появляются первыми).
  9. Скретч-карта получена после транзакции Google Pay.
  10. Ношение/снятие браслетов, стопка обеденных тарелок, сложенные друг на друга стулья.
  11. Смена носимых вещей холодным вечером, сначала пришла, наконец вышла.
  12. Последний нанятый, первый уволенный - который обычно используется, когда компания сокращает свою рабочую силу в условиях экономического спада.
  13. Загрузка пуль в магазин пистолета. Тот, кто вошел последним, увольняется первым. Бам!
  14. Виртуальная машина Java.
  15. Рекурсия.
  16. Используется в IDE для проверки правильности совпадения скобок.
  17. Медиа плейлист. Чтобы воспроизвести предыдущую и следующую песню

Применение очереди:

Очередь — это структура данных, использующая порядок FIFO.

Некоторые приложения очереди:

  1. Операционная система использует очереди для планирования заданий.
  2. Для обработки перегрузок в сети можно использовать очередь.
  3. Пакеты данных в процессе связи располагаются в формате очереди.
  4. При отправке электронного письма оно будет поставлено в очередь.
  5. Сервер при ответе на запрос
  6. Загрузка и скачивание фотографий, сначала сохраненных для загрузки/скачивания, будут завершены в первую очередь (Нет, если есть потоки)
  7. Большинство интернет-запросов и процессов используют очередь.
  8. При переключении нескольких приложений окна используют циклическую очередь.
  9. В эскалаторах, диспетчере очереди печати, очереди автомойки.
  10. Круговая очередь используется для поддержания последовательности игры нескольких игроков в игре.
  11. Очередь может быть реализована в виде очереди на основе связанного списка, очереди на основе массива, очереди на основе стека.
  12. Загрузка и скачивание фотографий, сначала сохраненных для загрузки/скачивания, будут завершены в первую очередь (Нет, если есть потоки).
  13. Управление трафиком веб-сайта
  14. Планирование ЦП

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

  1. Планирование процессов в ядре.
  2. Приоритетные очереди используются в операциях загрузки файлов в браузере.
  3. Автомобиль в пункте взимания платы.

Применение алгоритмов сортировки

  1. Упорядочивайте вещи по их стоимости.
  2. Серверные базы данных (сортировка слиянием).
  3. Игра в карты с друзьями (сортировка вставками).
  4. sort() — использует IntroSort (гибрид Quicksort, Heapsort и Insertion Sort), быстрее, чем qsort()
  5. Список контактов в телефоне
  6. Онлайн покупки . Сортировать приз в другом диапазоне. пример: флипкарт и амазон.

Применение графика:

Граф — это структура данных, в которой данные хранятся в наборе взаимосвязанных вершин (узлов) и ребер (путей).

Некоторые приложения графа:

  1. Facebook Graph API использует структуру Graphs.
  2. Google Knowledge Graph также должен что-то делать с Graph.
  3. Алгоритм Дейкстры или алгоритм поиска кратчайшего пути также использует структуру графа для поиска наименьшего пути между узлами графа.
  4. Система GPS-навигации также использует API кратчайшего пути.
  5. Сетевые компоненты имеют огромное применение для графов.
  6. Facebook, Instagram и все сайты социальных сетей, каждый пользователь которых является Node.
  7. Организация данных
  8. Виртуальный DOM React использует структуры данных графа.
  9. MS Excel использует DAG (направленные ациклические графики).
  10. Алгоритмы оптимизации пути, BFS, DFS.
  11. Рекомендательные двигатели.
  12. Научные вычисления, полетные сети, ранжирование страниц.
  13. Карта Google, чтобы найти ближайшее местоположение.
  14. Facebook предложит общих друзей

Применение дерева:

Деревья представляют собой иерархические структуры с одним корневым узлом.

Некоторые области применения деревьев:

  1. XML Parser использует древовидные алгоритмы.
  2. Алгоритм, основанный на принятии решений, используется в машинном обучении, которое работает по алгоритму дерева.
  3. Базы данных также используют древовидные структуры данных для индексации.
  4. Сервер доменных имен (DNS) также использует древовидную структуру.
  5. Проводник/мой компьютер мобильного/любой компьютер
  6. BST используется в компьютерной графике
  7. Размещая вопросы на таких сайтах, как Quora, комментарии — детище вопросов.
  8. Парсеры (парсер XML).
  9. Сжатие кода (zip).
  10. DOM в HTML.
  11. Оцените выражение (т.е. проанализируйте).
  12. Неотъемлемая часть теории компиляторов/автоматов.
  13. Для хранения возможных ходов в шахматной игре.
  14. Хранить генеалогическую информацию о биологических видах.
  15. Используется JVM (виртуальная машина Java) для хранения объектов Java.

Применение двоичного дерева поиска:

  1. Игровой движок D.
  2. Рендеринг компьютерной графики.
  3. Таблица маршрутизации.

КРАСНО-ЧЕРНОЕ ДЕРЕВО

  1. Используется при частой вставке/удалении и небольшом количестве поисков.
  2. K-mean Кластеризация с использованием красно-черного дерева, Базы данных, Простой базы данных, поиск слов в словарях, поиск в Интернете.
  3. Планирование процессов в Linux.

АВЛ ДЕРЕВО

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

СУФФИКСНОЕ ДЕРЕВО

  1. Быстрый полнотекстовый поиск, используемый в большинстве текстовых процессоров.

ПОПРОБОВАТЬ

  1. Словарное приложение.
  2. Функция автозаполнения в поиске.
  3. Автодополнение текста и проверка орфографии.

Применение хеш-таблиц:

Хеш-таблицы хранят данные в парах ключ-значение. Он хранит только те данные, с которыми связан ключ. Операции вставки и поиска легко выполняются при использовании хеш-таблиц.

Некоторые приложения хэш-таблицы:

  1. Данные, хранящиеся в базах данных, обычно имеют формат ключ-значение, который выполняется с помощью хэш-таблиц.
  2. Каждый раз, когда мы вводим что-то для поиска в Google Chrome или других браузерах, он генерирует желаемый результат на основе принципа хеширования.
  3. Message Digest, функция криптографии, также использует хеширование для создания вывода таким образом, что получение исходного ввода из этого сгенерированного вывода практически невозможно.
  4. На наших компьютерах хранятся различные файлы, каждый файл имеет две очень важные части информации, то есть имя файла и путь к файлу, чтобы установить связь между именем файла и соответствующими хеш-таблицами пути к файлу.
  5. Социальные сети «фиды».
  6. Хэширование пароля.
  7. Используется для быстрого поиска данных - таблица символов для компиляторов, индексация базы данных, кэширование, уникальное представление данных.
  8. Для хранения набора фиксированных ключевых слов, на которые ссылаются очень часто.

Применение кучи:

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

Некоторые приложения кучи:

  1. Алгоритм пирамидальной сортировки представляет собой алгоритм сортировки элементов либо в минимальной куче (ключ родителя меньше или равен ключу его дочерних элементов), либо в максимальной куче (ключ родителя больше или равен ключам его дочерних элементов). ), сортировка выполняется с созданием кучи.
  2. Кучи используются для реализации приоритетной очереди, где приоритет основан на порядке создания кучи.
  3. Системы, связанные с безопасностью, и встроенные системы, такие как ядро Linux, используют сортировку кучей из-за O ( n log (n) ).
  4. Если мы застряли в поиске наименьшего (или наибольшего) значения числа, то кучи могут решить проблему простым и быстрым способом.
  5. Используется JVM (виртуальная машина Java) для хранения объектов Java.

ПРИМЕНЕНИЕ ЖАДНОГО АЛГОРИТМА:

  1. Алгоритм Дейкстры.
  2. Покупки с ограниченным бюджетом, но вы хотите купить подарки для всех членов семьи.
  3. Алгоритмы Прима и Крускала используются для нахождения минимальных остовных деревьев.

АЛГОРИТМ ДЕЙКСТРЫ

  1. Используется в таких приложениях, как Google Maps, для поиска кратчайшего пути на графике.

ПРИМ и КРУСКАЛ

  1. Используется для нахождения минимальных остовных деревьев.

ПРИМЕНЕНИЕ ДИНАМИЧЕСКОГО ПРОГРАММИРОВАНИЯ:

А. Примеры из жизни

  1. В Картах Google, чтобы найти кратчайший путь между источником и рядом пунктов назначения (один за другим) из различных доступных путей.
  2. В сети для последовательной передачи данных от отправителя к различным получателям.

B. Приложения в информатике

  1. Многоступенчатый график
  2. Задача коммивояжера
  3. Самая большая общая подпоследовательность - для определения похожих видео, используемых YouTube.
  4. Двоичное дерево оптимального поиска — для получения оптимизированных результатов поиска.
  5. Кратчайший путь из одного источника - Алгоритм Беллмана-Форда.
  6. Алгоритмы расстояния до документов — для определения степени сходства между двумя текстовыми документами, используемыми поисковыми системами, такими как Google, Wikipedia, Quora и другими веб-сайтами.
  7. Для планирования заданий на процессоре.
  8. Для поиска потенциальных партнеров.
  9. В теории графика, ИИ, система.

ПРИМЕНЕНИЕ ВОЗВРАТА:

  1. Предположим, мы пишем алгоритм игры в шахматы, и в какой-то момент алгоритм обнаруживает, что набор шагов не дает выигрыша. В этой ситуации алгоритм вернется в безопасное состояние и попробует другой возможный набор шагов.
  2. Решатель судоку
  3. 2048 игра
  4. Компьютерная сеть.
  5. Решить проблему N Queen.
  6. Чтобы решить проблему Лабиринта.
  7. Чтобы найти гамильтонов путь, присутствующий в графе.
  8. К любовной проблеме рыцарского тура.

РАЗНОЕ:

  1. Бинарный поиск можно использовать в переговорах.
    Если продавец имеет в виду цену, но не раскрывает ее, можно назвать низкий бид, на который продавец ответит высокой ценой аск. Затем вы можете поднять свою ставку, а продавец может снизить запрашиваемую цену. Поскольку каждый из вас имеет в виду идеальную цену, названные предложения и запросы могут быть примерно на полпути к цене, желательной для каждой из сторон. Это не совсем алгоритм бинарного поиска, но очень в духе бинарного поиска.
  2. Hashmap имеет внутреннюю реализацию в дереве AVL.

ПРИЯТНОГО ЧТЕНИЯ!