Добавил:
владимир Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
дискра / к_экзамену / 3_Temy_13-16.docx
Скачиваний:
0
Добавлен:
17.08.2025
Размер:
3.9 Mб
Скачать

Понятие ориентированного дерева.

Опр. Базис индукции. Орграф 𝑇0 = (𝑉0,𝑈0) с единственной вершиной 𝑎 и пустым множеством дуг является ориентированным деревом. Вершина 𝑎 - называется корнем этого дерева.

Из определения непосредственно следует, что в каждом ориентированном дереве есть ровно одна вершина (корень), в которую не входят дуги, в каждую из остальных вершин входит ровно по одной дуге и все вершины достижимы из корня. Вершины ориентированного дерева, из которых не выходят дуги, называются листьями. Если из вершины 𝑎 ведет дуга в вершину 𝑏, то 𝑎 называется отцом, а 𝑏 - сыном. Из определения дерева следует, что у каждой вершины (кроме корня) имеется единственный отец. Если из вершины 𝑎 ведет путь в вершину 𝑏, то 𝑎 называется предком, а 𝑏 - потомком.

Путь из корня в лист называется ветвью дерева. Максимальная из длин ветвей дерева называется высотой дерева. Глубина вершины - это длина пути из корня в эту вершину. Для вершины 𝑣 подграф дерева 𝑇, включающий все достижимые из 𝑣 вершины и инцидентные им дуги, образует поддерево 𝑇v с корнем 𝑣. Высота вершины 𝑣 - это высота дерева 𝑇v.

Ориентированное дерево называется бинарным, если у каждой его вершины имеется не более двух сыновей, причем дуги, ведущие к ним, помечены двумя разными метками (например, 0 и 1).

Бинарное дерево называется полным, если у всех его вершин (за исключением листьев) имеется ровно два сына и все его ветви имеют одинаковую длину.

Отыскание кратчайших путей на графе. Постановка задачи об отыскании кратчайших путей в сети.

Ориентированный граф 𝐺 = (𝑉, 𝑈) называют взвешенным, если на множестве его дуг задано отображение 𝜌:𝑈 → 𝑅, т.е. каждой дуге 𝑢 = (𝑎, 𝑏) приписано действительное число 𝜌(𝑢), называемое весом, или длиной дуги. Взвешенный связный орграф называется сетью.

Ограничимся случаем неотрицательных весов. Пусть на графе 𝐺 имеется путь 𝑃 из вершины 𝑎 в вершину 𝑏 и 𝑢1, 𝑢2, ..., 𝑢k - последовательность дуг этого пути. Число 𝜌(𝑃) = называется весом, или длиной пути 𝑃.

Наименьшую из длин путей из вершины 𝑎 в вершину 𝑏 назовем расстоянием от 𝑎 до 𝑏, а тот путь из 𝑎 в 𝑏, длина которого равна расстоянию от 𝑎 до 𝑏, будем называть кратчайшим путем из 𝑎 в 𝑏.

Рассмотрим задачу о кратчайших путях: в заданной сети 𝐺 найти расстояние и кратчайший путь от фиксированной вершины 𝑠 до остальных вершин.

Алгоритм Дейкстры, его обоснование.

Через 𝑑(𝑣) обозначим расстояние от 𝑠 до 𝑣, т.е. длину кратчайшего пути из 𝑠 в 𝑣 (если, конечно, хотя бы один путь из 𝑠 в 𝑣 существует). Каждой паре вершин 𝑣 и 𝑤 поставим в соответствие число 𝑐(𝑣, 𝑤), которое определим следующим образом: если в графе есть дуги, исходящие из 𝑣 и заходящие в 𝑤, то 𝑐(𝑣, 𝑤) положим равным весу самой «легкой» из них; если ни одной такой дуги в графе нет, то будем считать 𝑐(𝑣, 𝑤) = ∞.

Алгоритм Дейкстры.

0-й шаг. Определим первую ближайшую к 𝑠 вершину: это сама вершина 𝑠, для нее 𝑑(𝑠)=0.

𝑘 -й шаг. Пусть к началу шага определены 𝑘 вершин, ближайшие к вершине 𝑠, т.е. определено множество 𝑆k = {𝑣1 = 𝑠, 𝑣2, ..., 𝑣k }, и для всех вершин этого множества вычислены расстояния 𝑑(𝑣i), 𝑖 = 1,2, . . . , 𝑘 (эти расстояния удобно рассматривать как постоянные метки вершин из 𝑆k). Обозначим через 𝐹k множество 𝑉\𝑆k.

Восстановление кратчайшего пути. Кратчайший путь от вершины 𝑠 до вершины 𝑤 восстанавливается пошагово, начиная с вершины 𝑤 до возврата к вершине 𝑠. Опишем один шаг возвращения. Для вершины 𝑤 среди всех вершин 𝑣, для которых существует дуга, ведущая из 𝑣 в 𝑤, находится такая дуга, для которой выполнено условие 𝑑(𝑤) = 𝑑(𝑣) + 𝑐(𝑣, 𝑤). Тем самым восстанавливается последняя дуга кратчайшего пути от 𝑠 до 𝑤.

Соседние файлы в папке к_экзамену