- •Федеральное агентство по образованию
- •“Воронежская государственная технологическая академия”
- •Ю .В. Бугаев, и.Ю. Шурупова
- •Операции над множествами
- •Лекция № 2 Отображения
- •Мощность множества
- •Лекция № 3 Свойства счетных множеств
- •Множества мощности континуума и выше
- •Лекция № 4 нечеткие множества
- •Примеры записи нечеткого множества
- •Основные характеристики нечетких множеств
- •Примеры нечетких множеств
- •О методах построения функций принадлежности нечетких множеств
- •Операции над нечеткими множествами
- •Наглядное представление операций над нечеткими множествами
- •Свойства операций и .
- •Лекция № 5 Бинарные отношения и операции над ними
- •Свойства операций над отношениями
- •Способы задания бинарных отношений
- •Лекция № 6 Свойства бинарных отношений
- •Специальные бинарные отношения. Упорядочение и безразличие
- •Лекция № 7 Слабый порядок
- •Разбиение и эквивалентность
- •Качественный порядок
- •Лекция № 8 Функция выбора. Основные понятия
- •Классификация функций выбора
- •Задача векторной оптимизации
- •Лекция № 9 комбинаторные конфигурации и их приложения
- •1. Основные задачи, обозначения и правила
- •2. Простейшие конфигурации
- •2.6. Свойства чисел сочетаний
- •3. Комбинаторные конфигурации в алгебре и анализе
- •Лекция № 10 Комбинаторные алгоритмы
- •Аналитический аппарат комбинаторики
- •1. Принцип включения и исключения
- •1.2. Модификации формулы включения и исключения
- •Лекция № 11 Рекуррентные соотношения
- •4. Производящие функции
- •4.3. Пример использования производящих функций
- •5. Связь производящих функций с линейными рекуррентными соотношениями
- •Лекция № 12 теория грАфов Вводные понятия
- •1.1. Основные понятия теории графов
- •1.2. Машинное представление графа
- •Лекция № 13 Степени, маршруты, связность
- •2.1. Степени вершин графов
- •2.2. Маршруты и цепи
- •2.3. Связность
- •Лекция № 14 Алгоритмы обхода вершин в графах общего вида
- •Лекция № 15 Деревья Эквивалентные определения дерева
- •4.2. Остов
- •Лекция № 16 Специальные вершинные подмножества графа Определения вершинных подмножеств
- •5.2. Теоремы о вершинных подмножествах
1.2. Машинное представление графа
Приведем сравнительную характеристику существующих способов представления графа в памяти ЭВМ, их достоинства и недостатки.
Рассмотрим конечный граф G = (V, E), где |V | = n, |E| = m.
Матрица инциденций. Ориентированный граф задается прямоугольной матрицей B(nm), элементы которой определяются по правилу:
где a – любое натуральное число, отличное от 1. У неориентированного графа оба элемента матрицы, соответствующие вершинам, инцидентным ребру ej, равны 1.
Это представление графа является самым неудобным, так как объем занимаемой памяти равен nm единиц, причем в каждом столбце только две ненулевые ячейки. Кроме нерационального использования памяти недостатком этого способа представления является неудобный доступ к информации. Например, для ответа на вопросы:
а) существует ли ребро (дуга) (vi, vj);
б) к каким вершинам ведут ребра (дуги) из вершины vi
требуется, в худшем случае, перебор nm элементов, т.е. порядка nm шагов алгоритма. От этого недостатка свободен следующий способ представления графа.
Матрица смежности. Элементы квадратной матрицы A(nn) определяются следующим образом:
Такая форма эквивалентна матричному представлению бинарного отношения (см. тема “Отношения”). Проверка существования ребра (дуги) (vi, vj) осуществляется за один шаг, в отличие от матрицы инциденций, однако, проверка свойств графа на основе такого представления требует, в худшем случае, порядка n2 шагов алгоритма. При этом способе объем неиспользованной памяти по-прежнему велик.
При работе со взвешенными графами для хранения весов ребер (дуг) требуются дополнительные одномерные массивы размера m (для случая матрицы инциденций) или матрицы размера nn (для случая матрицы смежности). Это обстоятельство делает неприемлемым использование матрицы смежности для взвешенных графов, так как количество неиспользованных единиц памяти увеличивается в k раз, где k – число весов ребер (дуг).
Таблица ребер. Она представляет собой матрицу размером m2, каждая строка которой содержит вершины инцидентные i-му ребру (i-ой дуге). Для работы со взвешенными графами нужно добавить к матрице столбцы, соответствующие весам ребер (дуг). Такая форма эквивалентна табличному представлению бинарного отношения
Однако, этому способу представления графа присущ тот же недостаток, что и матрице инциденций, – неудобство доступа к информации, хотя число шагов при поиске ребра здесь значительно меньше (порядка m). Наиболее удобной и экономичной формой представления графа являются
Списки инцидентности. Для каждой вершины viV создается список записей, характеризующих ребра (дуги), инцидентные этой вершине. Таким образом, это представление использует объем памяти порядка n + m, поиск вершины смежной с данной требует порядка n + m шагов, проверка свойств графа осуществляется за число шагов порядка n. Такая форма эквивалентна представлению бинарного отношения в виде верхних срезов.