Применение структур данных в реальном времени
Структура данных — это особый способ организации данных в компьютере, обеспечивающий их эффективное использование. В этой статье обсуждаются приложения всех структур данных в реальном времени.
Применение массивов:
Массивы — это простейшие структуры данных, в которых хранятся элементы данных одного типа. Основным применением массивов может быть хранение данных в табличном формате. Например, если мы хотим сохранить контакты на нашем телефоне, программа просто поместит все наши контакты в массив.
Некоторые другие применения массивов:
- Упорядочить таблицу лидеров игры можно просто с помощью массивов для хранения очков и упорядочить их в порядке убывания, чтобы четко определить ранг каждого игрока в игре.
- Простой вопросник Бумага представляет собой набор пронумерованных вопросов, каждому из которых присвоено несколько баллов.
- Двумерные массивы, широко известные как матрицы, используются при обработке изображений.
- Он также используется при обработке речи, в которой каждый речевой сигнал представляет собой массив.
- Ваш экран просмотра также представляет собой многомерный массив пикселей.
- Названия книг в системе управления библиотекой.
- Онлайн бронирование билетов.
- Контакты на мобильном телефоне.
- Для планирования ЦП в компьютере.
- Хранить возможные ходы шахмат на шахматной доске.
- Для хранения изображений определенного размера на андроиде или ноутбуке.
Применение строк:
- Обнаружение спама по электронной почте.
- Обнаружение плагиата.
- Поисковый движок.
- Цифровая криминалистическая и информационно-поисковая система
- Проверка орфографии.
- В базе данных проверить действительную информацию о пользователе
Применение матрицы:
Матрица представляет собой упорядоченный набор столбцов и строк элементов. Элементы матрицы необходимо заключать в скобки.
Некоторые приложения матрицы:
- В геологии матрицы используются для проведения сейсморазведки.
- Используется для построения графиков и статистики, а также для проведения научных исследований и исследований практически в разных областях.
- Матрицы также используются для представления реальных данных, таких как численность населения, уровень детской смертности и т. д.
- Это лучшие методы представления для составления графиков опросов.
- Для преломления и отражения в научной оптике.
- Электронная схема и квантовая физика.
- Медиа плеер.
- Список рассылки.
- Создание таблицы символов.
Применение связанных списков:
Связный список — это структура данных последовательности, которая соединяет элементы, называемые узлами, посредством ссылок.
Некоторые другие приложения связанного списка:
- Изображения связаны друг с другом. Таким образом, программное обеспечение для просмотра изображений использует связанный список для просмотра предыдущего и следующего изображения с помощью кнопок «Предыдущий» и «Следующий».
- Доступ к веб-страницам можно получить, используя предыдущую и следующую URL-ссылки, которые связаны с помощью связанного списка.
- Музыкальные проигрыватели также используют ту же технику для переключения между музыкой.
- Для отслеживания ходов в многопользовательской игре используется круговой связанный список.
- Рисунки и фигуры MS-Paint связаны через связанный список на холсте.
- Эскалаторы — круговой связанный список.
- Каждая строка кода в среде IDE представляет собой запись в двусвязном списке.
- Свайп влево/вправо в Tinder использует двусвязный список.
- Контент социальных сетей «подает».
- Используется для управления таблицей символов в проектирующем компиляторе.
- Используется при переключении между приложениями и программами (Alt+Tab) в операционной системе (реализовано с помощью Circular Linked List)
- Вагоны поезда связаны друг с другом в виде двусвязного списка.
- Его можно использовать для реализации стеков, очередей, графиков и деревьев.
- Для выполнения операции отмены.
- Кнопка «Назад».[LIFO]
- Синтаксис в редакторе кода.
- История посещенных страниц.
Применение стека:
Стек — это структура данных, использующая порядок LIFO.
Некоторые приложения стека:
- Преобразование инфиксных выражений в постфиксные.
- Кнопка Undo/Redo/операция в текстовых процессорах.
- Синтаксисы в языках разбираются с использованием стеков.
- Он используется во многих виртуальных машинах, таких как JVM.
- Перемотка вперед-назад в браузере.
- История посещенных веб-сайтов.
- Журналы сообщений и все сообщения, которые вы получаете, расположены в стеке.
- Журналы вызовов, электронная почта, любая галерея фотографий Google, загрузки с YouTube, уведомления (последние появляются первыми).
- Скретч-карта получена после транзакции Google Pay.
- Ношение/снятие браслетов, стопка обеденных тарелок, сложенные друг на друга стулья.
- Смена носимых вещей холодным вечером, сначала пришла, наконец вышла.
- Последний нанятый, первый уволенный - который обычно используется, когда компания сокращает свою рабочую силу в условиях экономического спада.
- Загрузка пуль в магазин пистолета. Тот, кто вошел последним, увольняется первым. Бам!
- Виртуальная машина Java.
- Рекурсия.
- Используется в IDE для проверки правильности совпадения скобок.
- Медиа плейлист. Чтобы воспроизвести предыдущую и следующую песню
Применение очереди:
Очередь — это структура данных, использующая порядок FIFO.
Некоторые приложения очереди:
- Операционная система использует очереди для планирования заданий.
- Для обработки перегрузок в сети можно использовать очередь.
- Пакеты данных в процессе связи располагаются в формате очереди.
- При отправке электронного письма оно будет поставлено в очередь.
- Сервер при ответе на запрос
- Загрузка и скачивание фотографий, сначала сохраненных для загрузки/скачивания, будут завершены в первую очередь (Нет, если есть потоки)
- Большинство интернет-запросов и процессов используют очередь.
- При переключении нескольких приложений окна используют циклическую очередь.
- В эскалаторах, диспетчере очереди печати, очереди автомойки.
- Круговая очередь используется для поддержания последовательности игры нескольких игроков в игре.
- Очередь может быть реализована в виде очереди на основе связанного списка, очереди на основе массива, очереди на основе стека.
- Загрузка и скачивание фотографий, сначала сохраненных для загрузки/скачивания, будут завершены в первую очередь (Нет, если есть потоки).
- Управление трафиком веб-сайта
- Планирование ЦП
Приоритетная очередь:
- Планирование процессов в ядре.
- Приоритетные очереди используются в операциях загрузки файлов в браузере.
- Автомобиль в пункте взимания платы.
Применение алгоритмов сортировки
- Упорядочивайте вещи по их стоимости.
- Серверные базы данных (сортировка слиянием).
- Игра в карты с друзьями (сортировка вставками).
- sort() — использует IntroSort (гибрид Quicksort, Heapsort и Insertion Sort), быстрее, чем qsort()
- Список контактов в телефоне
- Онлайн покупки . Сортировать приз в другом диапазоне. пример: флипкарт и амазон.
Применение графика:
Граф — это структура данных, в которой данные хранятся в наборе взаимосвязанных вершин (узлов) и ребер (путей).
Некоторые приложения графа:
- Facebook Graph API использует структуру Graphs.
- Google Knowledge Graph также должен что-то делать с Graph.
- Алгоритм Дейкстры или алгоритм поиска кратчайшего пути также использует структуру графа для поиска наименьшего пути между узлами графа.
- Система GPS-навигации также использует API кратчайшего пути.
- Сетевые компоненты имеют огромное применение для графов.
- Facebook, Instagram и все сайты социальных сетей, каждый пользователь которых является Node.
- Организация данных
- Виртуальный DOM React использует структуры данных графа.
- MS Excel использует DAG (направленные ациклические графики).
- Алгоритмы оптимизации пути, BFS, DFS.
- Рекомендательные двигатели.
- Научные вычисления, полетные сети, ранжирование страниц.
- Карта Google, чтобы найти ближайшее местоположение.
- Facebook предложит общих друзей
Применение дерева:
Деревья представляют собой иерархические структуры с одним корневым узлом.
Некоторые области применения деревьев:
- XML Parser использует древовидные алгоритмы.
- Алгоритм, основанный на принятии решений, используется в машинном обучении, которое работает по алгоритму дерева.
- Базы данных также используют древовидные структуры данных для индексации.
- Сервер доменных имен (DNS) также использует древовидную структуру.
- Проводник/мой компьютер мобильного/любой компьютер
- BST используется в компьютерной графике
- Размещая вопросы на таких сайтах, как Quora, комментарии — детище вопросов.
- Парсеры (парсер XML).
- Сжатие кода (zip).
- DOM в HTML.
- Оцените выражение (т.е. проанализируйте).
- Неотъемлемая часть теории компиляторов/автоматов.
- Для хранения возможных ходов в шахматной игре.
- Хранить генеалогическую информацию о биологических видах.
- Используется JVM (виртуальная машина Java) для хранения объектов Java.
Применение двоичного дерева поиска:
- Игровой движок D.
- Рендеринг компьютерной графики.
- Таблица маршрутизации.
КРАСНО-ЧЕРНОЕ ДЕРЕВО
- Используется при частой вставке/удалении и небольшом количестве поисков.
- K-mean Кластеризация с использованием красно-черного дерева, Базы данных, Простой базы данных, поиск слов в словарях, поиск в Интернете.
- Планирование процессов в Linux.
АВЛ ДЕРЕВО
- Больше поиска и меньше вставки/удаления.
- Анализ данных и интеллектуальный анализ данных, а также приложения, которые требуют большего количества поисков.
СУФФИКСНОЕ ДЕРЕВО
- Быстрый полнотекстовый поиск, используемый в большинстве текстовых процессоров.
ПОПРОБОВАТЬ
- Словарное приложение.
- Функция автозаполнения в поиске.
- Автодополнение текста и проверка орфографии.
Применение хеш-таблиц:
Хеш-таблицы хранят данные в парах ключ-значение. Он хранит только те данные, с которыми связан ключ. Операции вставки и поиска легко выполняются при использовании хеш-таблиц.
Некоторые приложения хэш-таблицы:
- Данные, хранящиеся в базах данных, обычно имеют формат ключ-значение, который выполняется с помощью хэш-таблиц.
- Каждый раз, когда мы вводим что-то для поиска в Google Chrome или других браузерах, он генерирует желаемый результат на основе принципа хеширования.
- Message Digest, функция криптографии, также использует хеширование для создания вывода таким образом, что получение исходного ввода из этого сгенерированного вывода практически невозможно.
- На наших компьютерах хранятся различные файлы, каждый файл имеет две очень важные части информации, то есть имя файла и путь к файлу, чтобы установить связь между именем файла и соответствующими хеш-таблицами пути к файлу.
- Социальные сети «фиды».
- Хэширование пароля.
- Используется для быстрого поиска данных - таблица символов для компиляторов, индексация базы данных, кэширование, уникальное представление данных.
- Для хранения набора фиксированных ключевых слов, на которые ссылаются очень часто.
Применение кучи:
Куча — это особый случай бинарного дерева, в котором родительские узлы сравниваются со своими дочерними узлами с их значениями и упорядочиваются соответствующим образом.
Некоторые приложения кучи:
- Алгоритм пирамидальной сортировки представляет собой алгоритм сортировки элементов либо в минимальной куче (ключ родителя меньше или равен ключу его дочерних элементов), либо в максимальной куче (ключ родителя больше или равен ключам его дочерних элементов). ), сортировка выполняется с созданием кучи.
- Кучи используются для реализации приоритетной очереди, где приоритет основан на порядке создания кучи.
- Системы, связанные с безопасностью, и встроенные системы, такие как ядро Linux, используют сортировку кучей из-за O ( n log (n) ).
- Если мы застряли в поиске наименьшего (или наибольшего) значения числа, то кучи могут решить проблему простым и быстрым способом.
- Используется JVM (виртуальная машина Java) для хранения объектов Java.
ПРИМЕНЕНИЕ ЖАДНОГО АЛГОРИТМА:
- Алгоритм Дейкстры.
- Покупки с ограниченным бюджетом, но вы хотите купить подарки для всех членов семьи.
- Алгоритмы Прима и Крускала используются для нахождения минимальных остовных деревьев.
АЛГОРИТМ ДЕЙКСТРЫ
- Используется в таких приложениях, как Google Maps, для поиска кратчайшего пути на графике.
ПРИМ и КРУСКАЛ
- Используется для нахождения минимальных остовных деревьев.
ПРИМЕНЕНИЕ ДИНАМИЧЕСКОГО ПРОГРАММИРОВАНИЯ:
А. Примеры из жизни
- В Картах Google, чтобы найти кратчайший путь между источником и рядом пунктов назначения (один за другим) из различных доступных путей.
- В сети для последовательной передачи данных от отправителя к различным получателям.
B. Приложения в информатике
- Многоступенчатый график
- Задача коммивояжера
- Самая большая общая подпоследовательность - для определения похожих видео, используемых YouTube.
- Двоичное дерево оптимального поиска — для получения оптимизированных результатов поиска.
- Кратчайший путь из одного источника - Алгоритм Беллмана-Форда.
- Алгоритмы расстояния до документов — для определения степени сходства между двумя текстовыми документами, используемыми поисковыми системами, такими как Google, Wikipedia, Quora и другими веб-сайтами.
- Для планирования заданий на процессоре.
- Для поиска потенциальных партнеров.
- В теории графика, ИИ, система.
ПРИМЕНЕНИЕ ВОЗВРАТА:
- Предположим, мы пишем алгоритм игры в шахматы, и в какой-то момент алгоритм обнаруживает, что набор шагов не дает выигрыша. В этой ситуации алгоритм вернется в безопасное состояние и попробует другой возможный набор шагов.
- Решатель судоку
- 2048 игра
- Компьютерная сеть.
- Решить проблему N Queen.
- Чтобы решить проблему Лабиринта.
- Чтобы найти гамильтонов путь, присутствующий в графе.
- К любовной проблеме рыцарского тура.
РАЗНОЕ:
- Бинарный поиск можно использовать в переговорах.
Если продавец имеет в виду цену, но не раскрывает ее, можно назвать низкий бид, на который продавец ответит высокой ценой аск. Затем вы можете поднять свою ставку, а продавец может снизить запрашиваемую цену. Поскольку каждый из вас имеет в виду идеальную цену, названные предложения и запросы могут быть примерно на полпути к цене, желательной для каждой из сторон. Это не совсем алгоритм бинарного поиска, но очень в духе бинарного поиска. - Hashmap имеет внутреннюю реализацию в дереве AVL.