#14 C++ Жемчужины STD - Адаптеры контейнеров priority_queue
Описание
Это видео — лекция Чили об адаптерах контейнеров в C++.
00:17 Что такое адаптеры контейнеров
-Адаптеры контейнеров — это обёртки вокруг контейнеров последовательности,
которые предоставляют другой, зачастую ограниченный интерфейс.
Например, stack позволяет только нажимать, добавлять и просматривать верхнюю часть стека — в отличие от vector,
где есть больше возможностей.
01:45 Особенности работы адаптеров
Адаптеры могут работать с разными типами контейнеров. Стек по умолчанию использует двусторонней очередью dequeue,
но его можно настроить на работу с vector.
При этом доступ к базовому контейнеру защищён — получить его можно,
только если наследовать от stack.
03:01 Отличия очереди и стека
-Очередь работает по принципу «первый вошёл — первый вышел»: элементы добавляют в конец, а удаляют из начала.
-Для очереди подходят не все контейнеры — например, vector не годится, потому что из него нельзя удалять элементы с начала.
-Оптимальные варианты — колода или список.
03:37 Приоритетная очередь
-Приоритетная очередь — это оболочка для контейнера последовательности, которая управляет им как приоритетной очередью с помощью операций с кучей.
-Её особенности: верхний элемент всегда имеет наивысший (или наименьший — в зависимости от настройки) приоритет и pop удаляет элемент с наивысшим приоритетом.
04:40 Пример применения — игровой симулятор, где действия с разными задержками помещают в очередь расписания. Когда время действия совпадает с запланированной отметкой, оно выполняется.
06:04 Практическое применение
-Приоритетные очереди используют не только в играх — например, они лежат в основе алгоритма A‑star.
-Автор видео реализовал A‑star с приоритетной очередью и пользовательским типом данных vector, и алгоритм сработал успешно.
08:19 Заключение
Рекомендуемые видео




















