
- •Введение
- •1. Математическое мышление и элементы математической логики
- •1.1. Высказывания
- •1.2. Операции над высказываниями
- •1.3. Сложные высказывания
- •1.4. Тождественные высказывания. Логические законы
- •1.5. Необходимые и достаточные условия. Взаимно обратные и взаимно противоположные теоремы
- •1.6. Понятие предиката. Кванторы всеобщности и существования
- •2. Множества и отношения
- •2.1. Множества и их спецификации. Пустое и универсальное множества
- •2.2. Диаграммы Венна
- •Равенство множеств. Подмножества
- •2.4. Простейшие операции над множествами
- •2.5. Мощность множества
- •2.6. Прямое Произведение множеств
- •2.7. Бинарные отношения
- •2.8. Графическое представление отношений
- •2.9. Свойства отношений
- •2.10. Разбиения и отношения эквивалентности
- •2.11. Отношения порядка
- •2.12. Отображения и их свойства. Виды отображений
- •3. Элементы теории графов
- •3.1. Вводные понятия
- •3.2. Ориентированные графы
- •3.3. Обход графа
- •Обход графа по глубине
- •Обход графа по ширине
- •3.4. Таблица основных понятий теории графов
- •4. Матрицы и определители
- •4.1. Основные понятия
- •4.2. Виды матриц
- •4.3. Операции над матрицами
- •Транспонирование матрицы
- •Умножение матрицы на число
- •Сложение матриц
- •Вычитание матриц
- •Умножение матриц
- •4.4. Определители квадратных матриц
- •4.5. СВойства определитеЛей и элементарные преобразования матриц
- •4.6. Обратная матрица
- •4.7. Ранг матрицы
- •4.8. Системы линейных уравнений
- •5. Линейные векторные пространства
- •5.1. Основные понятия
- •5.2. Линейная независимость векторов
- •5.3. Размерность и базис линейного пространства
- •5.4. ЛинейНые преобразования
- •5.5. Скалярное произведение
- •7. ЛИнейное программирование
- •Литература
- •1. Математическое мышление и элементы математической логики 4
- •2. Множества и отношения 16
3.3. Обход графа
Если G=<{v1, v2, …, vn}, E> ‑ граф с n вершинами и : Nn Nn – перестановка*), то упорядоченное множество t = v(1), v(2), …, v(n) определяет обход G.
Поскольку существует n! = 12…n различных перестановок Nn, то должно быть n! различных способов обхода графа с n вершинами. Обход начинается с вершины v(1). Далее для определенности мы будем рассматривать упорядоченные графы и из всего множества возможных обходов рассмотрим лишь два наиболее распространенных – по глубине и по ширине.
Обход графа по глубине
Пусть G = <{v1, …, vn}, {Lv1, …, Lvn}> – упорядоченный граф. Выбрав начальную вершину vs (1 s n), имеем (1) = s. Далее вершины из t определим следующим образом:
v(2)
– первая вершина из списка смежности
(то есть смежная с v(1)),
v(3)
– первая вершина из
,
которой еще нет в t и
т.д.,
...
v(k)
– первая вершина из
,
которой еще нет в t (k
4).
При этом если встречается вершина u такая, что все вершины из Lu уже содержатся в t, то процесс повторяется из вершины w t, где w – последняя вершина в t такая, что Lw содержит вершины, не входящие в t. Обход заканчивается, когда никакая вершина из V, не входящая в t не может быть достигнута из вершин включенных в t.
Если граф G связный, то описанный выше процесс определяет обход графа G, в противном случае – обход только одной компоненты G (содержащей v(1)). Значит, если граф G не связный, то для полного обхода надо начинать процесс в каждой связной компоненте G. Если G имеет связные компоненты Vi (1 i p), где |Vi| = ni, то определены n1 n2 … np обходов по глубине; если G связный, то n обходов (так как каждая из n вершин может быть выбрана в качестве начальной).
Пример 3.8.
Для упорядоченного графа
первый обход по глубине определяется так (начальная вершина v1):
v1, v2, v4, v8, v5, v6, v3, v7
Обход графа по ширине
Пусть G = <{v1, …, vn}, {Lv1, …, Lvn}> – упорядоченный граф. Выберем начальную вершину vs и предположим, что
Lvs = <<vs, w1>, <vs, w2>, …, <vs, wk>>.
Тогда первые k+1 членов упорядоченного множества t определим следующим образом:
v(1) = vs, v(2) = w1, …, v(k+1) = wk,
а v(k+1+i) является i-ой вершиной из Lw1, не входящей в t (i= 1,2,…). Это исчерпывает Lw1, и процесс начинается над Lw2 и т.д. Обход продолжается до того момента, пока все вершины, достижимые из v(1), не окажутся в t. Замечание о единственности, связности и числе возможных обходов для обхода по глубине, справедливы и для обхода по ширине.
Пример 3.2.
Для графа, описанного в примере 3.1, обход по ширине с начальной вершиной v1 задается следующим образом:
v1, v2, v3, v4, v5, v6, v7, v8
3.4. Таблица основных понятий теории графов
№ п/п |
Граф |
Орграф |
1 |
Вершина |
Вершина |
2 |
Ребро |
Дуга |
3 |
Компонента графа |
Сильно связная компонента орграфа |
4 |
|
Слабо связная компонента орграфа |
5 |
Упорядоченный граф |
Упорядоченный орграф |
6 |
Дерево |
Ориентированное дерево |
7 |
|
Упорядоченное ориентированное дерево |
8 |
|
Лист |
9 |
|
Непосредственный предок |
10 |
|
Непосредственный потомок |
11 |
|
Предок |
12 |
|
Потомок |
13 |
Корень |
Корень |