Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Глава 21. Кратчайшие пути. короткое и толстое, a MST - вообще не короткое и не толстое, равно как и не высо­кое и не тонкое.








короткое и толстое, a MST - вообще не короткое и не толстое, равно как и не высо­кое и не тонкое.

Мы уже рассматривали четыре различных реализации PFS. Первая — это классичес­кая реализация насыщенного графа, которая содержит в себе алгоритм Дейкстры и ал­горитм Прима поиска MST (программа 20.6). Три других реализации, отличающиеся со­держимым очереди с приоритетами, суть реализации разреженных графов:

■ Ребра бахромы (программа 18.10).

■ Вершины бахромы (программа 20.7).

■ Все вершины (программа 21.1).

Первая реализация имеет, прежде всего, познавательную ценность, тогда как вторая является наиболее совершенной, а третья, возможно, — наиболее простой. В этих рамках уже содержится описание 16 различных реализаций классических алгоритмов поиска на графе — когда мы рассматриваем различные реализации очередей с приоритетами, про­исходит дальнейшее нарастание возможных вариантов. Это быстрое увеличение сетей, алгоритмов и реализаций подчеркивает полезность общих формулировок производитель­ности в свойствах от 21.4 до 21.6, что также приводится в таблице 21.2.

Таблица 21.2 Стоимость реализаций алгоритма Дейкстры_______________________

Эта таблица подводит итог стоимости (наихудшее значение продолжительности исполнения) различных реализаций алгоритма Дейкстры. При соответствующей реализации очередей с приоритетами алгоритм выполняется за линейное время (время, пропорциональное V2 для насыщенных сетей, и значению Е- для разреженных сетей), за исключением очень разреженных сетей.

Оценка
худшего
Алгоритм случая Комментарий

Классический V2 Оптимален для насыщенных графов

PFS, заполненное бинарное дерево Е lg V Самая простая реализация

PFS, полное бинарное дерево ElgV Консервативная верхняя оценка

для представления бахромы

PFS, полное d-арное дерево Е lgdV Линейный, если граф не слишком

разреженный

Как правило, фактическое время нахождения кратчайших путей для алгоритмов MST, скорее всего, ниже оценок времени для худшего случая, прежде всего, потому, что боль­шинство ребер не требуют операции уменьшения ключей. На практике, за исключением наиболее разреженных графов, мы считаем, что время выполнения не является линейным.

Название алгоритма Дейкстры обычно используется для обозначения как абстрактно­го метода построения SPT путем добавления вершин в порядке их расстояния от источ­ника, так и его реализации как алгоритма со временем, пропорциональным V2, для по­строения матрицы смежности, поскольку Дейкстра представил и то, и другое в своей статье, опубликованной в 1959 г. (а также показал, что тем же методом можно вычислить и MST). Увеличение производительности на разреженных графах связано с более поздни­ми усовершенствованиями в технологии АТД и реализациях очереди с приоритетами, ко­торые не являются характерными для задач поиска кратчайших путей. Более высокая про-



Часть 5. Алгоритмы на графах


изводительность алгоритма Дейкстры - это одно из наиболее важных свойств этой тех­нологии (см. раздел ссылок). Как и в случае с MST, для указания на специфические ком­бинации мы применяем такие термины, как, например, " реализация алгоритма Дейкст­ры с PFS с использованием полного d-арного дерева".

В разделе 18.8 было показано, что в невзвешенных неориентированных графах исполь­зование нумераций приоритетов в прямом порядке обхода вершин графа приводит к тому, что очередь с приоритетами действует как очередь FIFO и приводит к BFS. Алгоритм Дейкстры дает нам другую реализацию BFS: когда все веса ребер равны 1, а обход вер­шин производится в порядке номеров ребер на кратчайшем пути к стартовой вершине. В этом случае очередь с приоритетами не действует в точности как очередь FIFO, по­скольку элементы с равными приоритетами не обязательно изымаются из очереди в том порядке, в котором они в нее помещались.

Каждая из этих реализаций помещает в индексированный вершинами вектор spt реб­ра дерева кратчайших путей SPT (Shortest Path Tree) из вершины 0, а в индексирован­ный вершиной вектор wt — длины кратчайших путей в каждую вершину в SPT; кроме того, каждая реализация имеет функции-элементы, обеспечивающие доступ к этим дан­ным со стороны клиентов. Как обычно, имеется возможность построить различные фун­кции обработки графов и классы, основанные на этих первичных данных (см. упражнения 21.21-21.28).


Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.007 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал