Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Data Structures and Algorithms in C++ 2e (На ру...docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
2.37 Mб
Скачать

13.1. Графы 597

В суждениях, которые следуют, мы исследуем несколько важных свойств графов.

Суждение 13.6: Если G - граф с m краями, то

å градус (v) = 2 м.

v в G

Оправдание: край (u, v) посчитан дважды в суммировании выше; однажды

его конечная точка u и однажды его конечной точкой v. Таким образом совокупный вклад краев до степеней вершин - дважды число краев.

Суждение 13.7: Если G - направленный граф с m краями, то

å indeg (v) = å outdeg (v) = m.

v в G v в G

Оправдание: В направленном графе край (u, v) вносит одну единицу в

-степень его происхождения u и одной единицы к в степени из его места назначения v. Таким образом совокупный вклад краев до-степеней вершин равен числу краев, и так же для-степеней.

Мы затем показываем, что у простого графа с n вершинами есть O (n2) края. Суждение 13.8: Позвольте G быть простым графом с n вершинами и m краями. Если G не направлен, то m£ n (n- 1)/2, и если G направлен, то m£ n (n- 1). Оправдание: Предположим, что G не направлен. Так как никакие два края не могут иметь

те же самые конечные точки и нет никаких самопетель, максимальной степени вершины в G

n- 1 в этом случае. Таким образом, Суждением 13.6, £ íà 2 ìn (n- 1). Теперь предположите это

G направлен. Так как ни у каких двух краев не может быть того же самого происхождения и места назначения, и

нет никаких самопетель, максимум в степени вершины в G - n- 1 в этом случае.

Таким образом, Суждением 13.7, m£ n (n- 1).

Путь - последовательность переменных вершин и краев, который начинается в вершине и концах в вершине, таким образом, что каждый край - инцидент к своей вершине предшественника и преемника. Цикл - путь по крайней мере с одним краем, у которого есть то же самое начало и вершины конца. Мы говорим, что путь прост, если каждая вершина в пути отлична, и мы говорим, что цикл прост, если каждая вершина в цикле отлична, за исключением первого и последнего. Направленный путь - путь, таким образом, что все края направлены и пересечены вдоль их направления. Направленный цикл так же определен. Например, в рисунке 13.2, (BOS, СЗ 35, JFK, AA 1387, DFW) находится в направленном простом пути, и (СЛАБЫЙ, UA 120, ПОРЯДОК, UA 877, DFW, AA 49, СЛАБЫЙ) направленный простой цикл. Если путь P или цикл C являются простым графом, мы можем опустить края в P или C, поскольку они хорошо определены, когда P - список смежных вершин, и C - цикл смежных вершин.

598

Глава 13. Пример Алгоритмов графа 13.9: Учитывая граф G представление городской карты (см. Пример 13.3), мы можем смоделировать пару вождения на ужин в рекомендуемом ресторане как пересечение пути хотя G. Если они знают путь и случайно не проходят то же самое пересечение дважды, то они пересекают простой путь в G. Аналогично, мы можем смоделировать все путешествие, которое пара предпринимает, от их дома до ресторана и назад, как цикл. Если они идут домой из ресторана абсолютно различным способом, чем, как они пошли, даже не пройдя то же самое пересечение дважды, то их все путешествие туда и обратно - простой цикл. Наконец, если они путешествуют вдоль односторонних улиц для их всей поездки, мы можем смоделировать их ночь как направленный цикл.

Подграф графа G является графом H, чьи вершины и края - подмножества вершин и края G, соответственно. Например, в flight сети рисунка 13.2, вершины BOS, JFK, и пропал без вести, и края AA 903 и DL 247 формируют подграф. Подграф охвата G - подграф G, который содержит все вершины графа G. Граф связан, если для каких-либо двух вершин есть путь между ними. Если граф G не связан, его максимальные связанные подграфы называют связанными компонентами G. Лес - граф без циклов. Дерево - связанный лес, то есть, связанный граф без циклов. Обратите внимание на то, что это определение дерева несколько отличается от один данный в Главе 7. А именно, в контексте графов, у дерева нет корня. Каждый раз, когда есть двусмысленность, деревья Главы 7 должны упоминаться как внедренные деревья, в то время как деревья этой главы должны упоминаться как свободные деревья. Связанные компоненты леса - (свободные) деревья. Дерево охвата графа - подграф охвата, который является (свободным) деревом.

Пример 13.10: Возможно, наиболее говорившим о графе сегодня является Интернет, который может быть рассмотрен как граф, вершины которого - компьютеры и чьи (ненаправленные) края - коммуникационные связи между парами компьютеров на меж - чистый. Компьютеры и связи между ними в единственной области, как wiley.com, формируют подграф Интернета. Если этот подграф связан, то два пользователя на компьютерах в этой области могут послать электронное письмо друг другу, не имея их информационных пакетов, когда-либо оставляют их область. Предположим края этого под - форма графа дерево охвата. Это подразумевает, что, если даже единственная связь понижается (например, потому что кто-то вытаскивает коммуникационный кабель из задней части компьютера в этой области), тогда этот подграф больше не будет связываться.

Есть много простых свойств деревьев, лесов и связанных графов.

Суждение 13.11: Позвольте G быть ненаправленным графом с n вершинами и m краями.

• Если G связан, то m³ n- 1

• Если G - дерево, то m = n- 1 • Если G - лес, то m£ n- 1