Основные определения теории графов — различия между версиями
Proshev (обсуждение | вклад) |
|||
Строка 3: | Строка 3: | ||
{{Определение | {{Определение | ||
|definition = | |definition = | ||
− | '''Ориентированным графом''' (directed graph) <tex>G</tex> называется пара <tex>G = (V, E)</tex>, где <tex>V</tex> {{---}} конечное множество вершин, а <tex> E \subset V \times V </tex> {{---}} множество рёбер. '''Ребром''' (edge, дугой(arc), линией(line)) ориентированного графа называют упорядоченную пару вершин <tex> (v, u) \in E </tex>. | + | '''Ориентированным графом''' (directed graph) <tex>G</tex> называется пара <tex>G = (V, E)</tex>, где <tex>V</tex> {{---}} конечное множество вершин, а <tex> E \subset V \times V </tex> {{---}} множество рёбер. |
+ | }} | ||
+ | |||
+ | {{Определение | ||
+ | |definition = | ||
+ | '''Ребром''' (edge, дугой (arc), линией (line)) ориентированного графа называют упорядоченную пару вершин <tex> (v, u) \in E </tex>. | ||
}} | }} | ||
Строка 11: | Строка 16: | ||
* <tex> v </tex> {{---}} '''предок''' <tex> u </tex>. | * <tex> v </tex> {{---}} '''предок''' <tex> u </tex>. | ||
* <tex> u </tex> и <tex> v </tex> {{---}} '''смежные''' | * <tex> u </tex> и <tex> v </tex> {{---}} '''смежные''' | ||
− | * Вершина <tex> u </tex> '''инцидентна''' ребру <tex> (v, u) </tex> | + | * Вершина <tex> u </tex> '''инцидентна''' ребру <tex> (v, u) </tex> |
+ | * Вершина <tex> v </tex> '''инцидентна''' ребру <tex> (v, u) </tex> | ||
− | + | '''Инцидентность''' {{---}} понятие, используемое только в отношении ребра и вершины. Две вершины или два ребра не могут быть инцидентны. | |
Граф с <tex> p </tex> вершинами и <tex> q </tex> ребрами называют <tex> (p, q) </tex> - графом. <tex> (1, 0) </tex>-граф называют <b>тривиальным</b>. | Граф с <tex> p </tex> вершинами и <tex> q </tex> ребрами называют <tex> (p, q) </tex> - графом. <tex> (1, 0) </tex>-граф называют <b>тривиальным</b>. | ||
Строка 19: | Строка 25: | ||
Заметим, что по определению ориентированного графа, данному выше, любые две вершины <tex>u,~v</tex> нельзя соединить более чем одним ребром <tex>(u, v)</tex>. | Заметим, что по определению ориентированного графа, данному выше, любые две вершины <tex>u,~v</tex> нельзя соединить более чем одним ребром <tex>(u, v)</tex>. | ||
Поэтому часто используют другое определение. | Поэтому часто используют другое определение. | ||
− | |||
{{Определение | {{Определение | ||
|id = def1 | |id = def1 | ||
Строка 25: | Строка 30: | ||
'''Ориентированным графом''' <tex>G</tex> называется четверка <tex>G = (V, E, beg, end)</tex> , где <tex>beg, end : E \rightarrow V </tex>, а <tex>V</tex> и <tex>E</tex> {{---}} некоторые абстрактные множества. | '''Ориентированным графом''' <tex>G</tex> называется четверка <tex>G = (V, E, beg, end)</tex> , где <tex>beg, end : E \rightarrow V </tex>, а <tex>V</tex> и <tex>E</tex> {{---}} некоторые абстрактные множества. | ||
}} | }} | ||
− | Иногда граф, построенный таким образом называют '''мультиграфом'''. В мультиграфе не допускаются петли, но пары вершин допускается соединять более чем одним ребром. Такие ребра называются '''кратными''' (иначе {{---}} '''параллельные'''). | + | Иногда граф, построенный таким образом, называют '''мультиграфом'''. В мультиграфе не допускаются петли, но пары вершин допускается соединять более чем одним ребром. Такие ребра называются '''кратными''' (иначе {{---}} '''параллельные'''). |
{|border="0" cellpadding="5" width=30% align=center | {|border="0" cellpadding="5" width=30% align=center | ||
|[[Файл: directed_graph.png|thumb|300px|center|<font color=#ED1C24>Красным</font> выделено кратное ребро (6, 2)<br><font color=#22B14C>Зеленым</font> обозначена петля (6, 6)]] | |[[Файл: directed_graph.png|thumb|300px|center|<font color=#ED1C24>Красным</font> выделено кратное ребро (6, 2)<br><font color=#22B14C>Зеленым</font> обозначена петля (6, 6)]] | ||
Строка 33: | Строка 38: | ||
− | + | Также для ориентированных графов определяют '''полустепень исхода вершины''' <tex>deg^-v_i = |\{e~|~beg~e = v_i\}|</tex> и '''полустепень захода вершины''' <tex>deg^+v_i = |\{e~|~end~e = v_i\}|</tex>. | |
− | |||
− | |||
− | + | Стоит отметить, что для ориентированного графа справедлива [[Лемма о рукопожатиях|лемма о рукопожатиях]], связывающая количество ребер с суммой [[Основные определения теории графов#Степень вершины|степеней вершин]]. | |
{{Определение | {{Определение | ||
|definition = | |definition = | ||
− | '''Путём'''(маршрутом) в графе называется последовательность вида <tex>v_0 e_1 v_1 ... e_k v_k</tex>, где <tex>e_i \in E,~e_i = (v_{i-1}, v_i)</tex>; <tex>k</tex> {{---}} '''длина''' пути. | + | '''Путём''' (маршрутом) в графе называется последовательность вида <tex>v_0 e_1 v_1 ... e_k v_k</tex>, где <tex>e_i \in E,~e_i = (v_{i-1}, v_i)</tex>; <tex>k</tex> {{---}} '''длина''' пути. |
}} | }} | ||
{{Определение | {{Определение | ||
Строка 56: | Строка 59: | ||
{{Определение | {{Определение | ||
|definition = | |definition = | ||
− | '''Неориентированным графом''' (undirected graph) <tex>G</tex> называется пара <tex>G = (V, E)</tex>, где <tex>V</tex> {{---}} конечное множество вершин, а <tex> E \subset V \times V(uv \sim vu~\backslash~\{uu~|~u \in V\})</tex> {{---}} множество рёбер. '''Ребром''' в неориентированном графе называют неупорядоченную пару вершин <tex> (v, u) \in E </tex>. | + | '''Неориентированным графом''' (undirected graph) <tex>G</tex> называется пара <tex>G = (V, E)</tex>, где <tex>V</tex> {{---}} конечное множество вершин, а <tex> E \subset V \times V(uv \sim vu~\backslash~\{uu~|~u \in V\})</tex> {{---}} множество рёбер. |
+ | }} | ||
+ | {{Определение | ||
+ | |definition = | ||
+ | '''Ребром''' в неориентированном графе называют неупорядоченную пару вершин <tex> (v, u) \in E </tex>. | ||
}} | }} | ||
[[Файл: Неорграф.png|thumb|300px|center|Неориентированный граф<br>]] | [[Файл: Неорграф.png|thumb|300px|center|Неориентированный граф<br>]] | ||
Строка 63: | Строка 70: | ||
{{Определение | {{Определение | ||
|definition = | |definition = | ||
− | '''Неориентированным графом''' <tex>G = (V, E, ends)</tex> , где <tex>ends : E \rightarrow V \times V</tex>, а <tex>V</tex> и <tex>E</tex> {{---}} некоторые абстрактные множества. | + | '''Неориентированным графом''' <tex>G</tex> называется тройка <tex>G = (V, E, ends)</tex> , где <tex>ends : E \rightarrow V \times V</tex>, а <tex>V</tex> и <tex>E</tex> {{---}} некоторые абстрактные множества. |
}} | }} | ||
− | Две вершины называются '''смежными''' если между ними есть ребро. | + | Две вершины называются '''смежными''', если между ними есть ребро. |
'''Степенью''' вершины <tex>deg~v_i</tex> в неориентированном графе называют число ребер, инцидентных <tex>v_i</tex>. Будем считать, что петли добавляют к степени вершины <tex>2</tex>. | '''Степенью''' вершины <tex>deg~v_i</tex> в неориентированном графе называют число ребер, инцидентных <tex>v_i</tex>. Будем считать, что петли добавляют к степени вершины <tex>2</tex>. | ||
Строка 76: | Строка 83: | ||
Остальные определения в неориентированном графе совпадают с аналогичными определениями в ориентированном графе. | Остальные определения в неориентированном графе совпадают с аналогичными определениями в ориентированном графе. | ||
+ | |||
+ | == Представление графов == | ||
+ | |||
+ | === Матрица и списки смежности === | ||
+ | |||
+ | Граф можно представить в виде [[Матрица смежности графа|матрицы смежности]], где <tex>graph[v][u] = true \Leftrightarrow (v, u) \in E</tex>. Также в ячейке матрицы можно хранить вес ребра или их количество (если в графе разрешены паралелльные ребра). | ||
+ | Для матрицы смежности существует [[Связь степени матрицы смежности и количества путей|теорема]], позволяющая связать степень матрицы и количество путей из вершины <tex>v</tex> в вершину <tex>u</tex>. | ||
+ | |||
+ | Если граф разрежен (<tex>|E| < |V^2|</tex>), его лучше представить в виде списков смежности, где список для вершины <tex>v</tex> будет содержать вершины <tex>u: (v, u) \in E</tex>. Данный способ позволит сэкономить память, т.к. не придется хранить много нулей. | ||
+ | |||
+ | === Матрица инцидентности === | ||
+ | |||
+ | Имеет место и другое представление графа - [[Матрица инцидентности графа|матрица инцидентности]], которая сопоставляет множество вершин множеству ребер. То есть: | ||
+ | # <tex>graph[v][j] = 1 \wedge graph[u][j] = -1 \Leftrightarrow v = begin (e_j) \wedge u = end (e_j)</tex>, в случае ориентированного графа. | ||
+ | # <tex>graph[v][j] = 1 \Leftrightarrow v</tex> инцидентна ребру <tex>e_j</tex>, в случае неориентированного графа. | ||
+ | # Во всех остальных случаях ячейки матрицы равны 0. | ||
==См. также== | ==См. также== | ||
* [[Лемма о рукопожатиях]] | * [[Лемма о рукопожатиях]] | ||
− | |||
* [[Матрица смежности графа]] | * [[Матрица смежности графа]] | ||
* [[Связь степени матрицы смежности и количества путей]] | * [[Связь степени матрицы смежности и количества путей]] |
Версия 21:24, 17 января 2012
Содержание
Ориентированные графы
Определение: |
Ориентированным графом (directed graph) | называется пара , где — конечное множество вершин, а — множество рёбер.
Определение: |
Ребром (edge, дугой (arc), линией (line)) ориентированного графа называют упорядоченную пару вершин | .
В графе ребро, концы которого совпадают, то есть , называется петлей. Мультиграф с петлями принято называть псевдографом.
Если имеется ребро
, то говорят:- — предок .
- и — смежные
- Вершина инцидентна ребру
- Вершина инцидентна ребру
Инцидентность — понятие, используемое только в отношении ребра и вершины. Две вершины или два ребра не могут быть инцидентны.
Граф с
вершинами и ребрами называют - графом. -граф называют тривиальным.Заметим, что по определению ориентированного графа, данному выше, любые две вершины
нельзя соединить более чем одним ребром . Поэтому часто используют другое определение.Определение: |
Ориентированным графом | называется четверка , где , а и — некоторые абстрактные множества.
Иногда граф, построенный таким образом, называют мультиграфом. В мультиграфе не допускаются петли, но пары вершин допускается соединять более чем одним ребром. Такие ребра называются кратными (иначе — параллельные).
Также для ориентированных графов определяют полустепень исхода вершины
и полустепень захода вершины .Стоит отметить, что для ориентированного графа справедлива лемма о рукопожатиях, связывающая количество ребер с суммой степеней вершин.
Определение: |
Путём (маршрутом) в графе называется последовательность вида | , где ; — длина пути.
Определение: |
Циклическим путём называется путь, в котором | .
Определение: |
Цикл - это класс эквивалентности циклических путей на отношении эквивалентности таком, что два пути эквивалентны, если | ; где и — это две последовательности ребер в циклическом пути.
Неориентированные графы
Определение: |
Неориентированным графом (undirected graph) | называется пара , где — конечное множество вершин, а — множество рёбер.
Определение: |
Ребром в неориентированном графе называют неупорядоченную пару вершин | .
Иное определение:
Определение: |
Неориентированным графом | называется тройка , где , а и — некоторые абстрактные множества.
Две вершины называются смежными, если между ними есть ребро.
Степенью вершины
в неориентированном графе называют число ребер, инцидентных . Будем считать, что петли добавляют к степени вершины .
Определение: |
Циклическим путём в неориентированном графе называется путь, в котором | , а так же .
Остальные определения в неориентированном графе совпадают с аналогичными определениями в ориентированном графе.
Представление графов
Матрица и списки смежности
Граф можно представить в виде матрицы смежности, где . Также в ячейке матрицы можно хранить вес ребра или их количество (если в графе разрешены паралелльные ребра). Для матрицы смежности существует теорема, позволяющая связать степень матрицы и количество путей из вершины в вершину .
Если граф разрежен (
), его лучше представить в виде списков смежности, где список для вершины будет содержать вершины . Данный способ позволит сэкономить память, т.к. не придется хранить много нулей.Матрица инцидентности
Имеет место и другое представление графа - матрица инцидентности, которая сопоставляет множество вершин множеству ребер. То есть:
- , в случае ориентированного графа.
- инцидентна ребру , в случае неориентированного графа.
- Во всех остальных случаях ячейки матрицы равны 0.
См. также
Литература
- Харари Фрэнк Теория графов = Graph theory/Пер. с англ. и предисл. В. П. Козырева. Под ред. Г.П.Гаврилова. Изд. 2-е. — М.: Едиториал УРСС, 2003. — 296 с. — ISBN 5-354-00301-6
- Асанов М. О., Баранский В. А., Расин В. В. Дискретная математика: графы, матроиды, алгоритмы — НИЦ РХД, 2001. — 288 с. — ISBN 5-93972-076-5
- Кормен, Томас Х., Лейзерсон, Чарльз И., Ривест, Рональд Л., Штайн Клиффорд Алгоритмы: построение и анализ, 2-е издание. Пер. с англ. — М.:Издательский дом "Вильямс", 2010. — 1296 с.: ил. — Парал. тит. англ. — ISBN 978-5-8459-0857-5 (рус.)