Элементы теории графов
Граф задаётся парой множеств: множества Е, называемогомножеством вершин, и множества U, называемого множеством рёбер. Ребро u Uесть пара(еi, еj), гдееi, еjЕ, указывающая, между какими двумя вершинами проведено ребро. Говорят, что реброuUинцидентно вершинамеi, еj. Если порядок рёбер не имеет значения, т.е.u= (еi, еj) = (еj, еi), то ребро называетсянеориентированным или просто ребром, если же порядок имеет значение, то реброu= (еi, еj) называетсяориентированным ребром илидугой. Вершинаеiназываетсяначалом дуги, еj–конец дуги. Граф, содержащий хотя бы одну дугу, называетсяориентированным графом илиорграфом.
Граф G (E, U)называетсяконечным, если множество Е вершин конечно.
Граф G (E, U), у которого каждая вершинаеiЕсоединена рёбрами с остальными вершинами (любые две вершены соединены ребром), называетсяполным (рис.3.2).
Рис. 3.2. Полный граф
Если хотя бы две вершины соединены несколькими рёбрами, то такой граф называется мультиграфом. Две вершиныеi, еj Еназываютсясмежными, если они соединены ребром. Число рёбер, инцидентных данной вершинееj,называетсялокальной степенью этой вершиныр(еi). Число рёберrграфаG(E,U)определяется выражением.
где n– количество вершин в графе.
Рассмотрим граф, изображённый на рисунке 3.3.
Рис. 3.3. Ориентированный граф
Множество вершин графа состоит из пяти элементов: Е = {1, 2, 3, 4, 5}, а множество рёберU= {(1, 2), (1, 4), (1, 5), (2, 3), (3, 4), (5, 3)}. Ребро (5, 3) являетсяориентированнымребром или дугой. Число рёбер в графе определяется по значению локальных степеней для каждой вершины:
р(1) = 3;р(2) = 2;р(3) = 3;р(4) = 2;р(5) = 2;р= (3 + 2 + 3 + 2 + 2) / 2 = 6.
Важным в теории графов является понятие части графа G(E,U),который обозначаетсяG'(E',U')G(E,U). Множества вершин и ребёр части графа являютсяподмножествами вершин и рёбер исходного графаЕ'ЕU'U. Многие задачи на графах состоят в определении частей графа сзаданными свойствами.
Часть графа G'(E',U')G(E,U)называетсяподграфом графаG(E,U), еслиЕ' Е, а подмножествоU'Uобразовано только рёбрами, инцидентными вершинам множестваЕ'.
МаршрутомграфаGназывается последовательность рёберS= (u1, u2, , u n), в которой каждые два соседних ребра имеют общую вершину, т.е. u1 = (е1, е2); u2= (е2, е3); ... u n = (еn, еn+1).Не исключено, что одно и то же ребро может встречаться несколько раз на одном маршруте.
Две вершины еiиеjназываютсясвязанными, если существует маршрут изеiвеj.
Простой цепью, илипростым путём, называется маршрут, в котором ни одно ребро не повторяется дважды.Элементарной цепью илиэлементарным путём называется маршрут, в котором ни одна вершина не повторяется дважды.Циклом в графе называется маршрут, у которогоначальная вершина совпадает сконечной. Например, граф, представленный на рисунке3.4, имеет циклS= (1, 2, 3, 5, 4, 1).
Рис. 3.4. Пример графа, имеющего цикл
Цикл, проходящий по всем рёбрам графа только один раз, называется эйлеровым циклом. В теории графов доказывается теорема, определяющая, содержит ли граф эйлеров цикл. Оказывается, конечный граф содержит эйлеров цикл тогда и только тогда, когда он связан, и все его локальные степени вершин чётные. Важной прикладной задачей теории графов является задача поиска в графе цикла, проходящего через каждую вершину только один раз. Такие циклы называютсягамильтоновыми циклами.
Весьма важным является связанный граф, не имеющий циклов, он называется деревом. В дереве любые две вершины связаны единственным путём. Вершина называетсяконцевой, если ей инцидентноне более одного ребра; одна из концевых вершин может быть выбрана в качестве корня.
Теория графов используется в информатике и программировании, например, для представления структур данных (деревья), для моделирования сетей (маршрутизации данных в Интернете). В теории алгоритмов, блок-схема алгоритма − это ориентированный граф, указывающий порядок исполнения команд. Вершины такого графа могут быть одного из трёх типов, представленных в таблице 11.
Таблица11
- Информатика
- Режим доступа к электронному аналогу печатного издания: http://www.Libdb.Sssu.Ru
- Содержание
- Предисловие
- Основные понятия информатики
- Понятие информации
- Свойства информации
- Понятие количества информации
- Предмет и задачи информатики
- Информационное общество
- Вопросы и тестовые задания для самоконтроля
- Системы счисления и представление информации в эвм
- Представление (кодирование) данных
- Понятие об основных системах счисления
- Перевод чисел из одной системы счисления в другую
- Представление чисел в различных системах счисления
- Двоичная арифметика
- Арифметические действия над двоичными числами
- Представление чисел в эвм
- Примеры представления целых чисел в шестнадцатиразрядных двоичных кодах
- Представление десятичных чисел в четырёхразрядном коде Грея
- Кодирование информации в эвм
- Базовая таблица кодировки ascii
- Вопросы и тестовые задания для самоконтроля
- Логические основы построения эвм
- Основы алгебры логики
- Операции сравнения
- Примеры операторов сравнения в разных языках программирования
- Логические операции
- Основные логические операторы
- Результаты, возвращаемые логическими операциями
- Основы элементной базы эвм
- Условные обозначения и диаграммы работы логических элементов
- Rs-триггер
- Элементы теории множеств
- Элементы теории графов
- Типы вершин блок-схем алгоритмов
- Вопросы и тестовые задания для самоконтроля
- Технические средства реализации информационных процессов
- История развития эвм
- Классификация эвм
- Архитектура эвм
- Состав персонального компьютера
- Внешние устройства
- Вопросы и тестовые задания для самоконтроля
- Системное программное обеспечение эвм
- Базовые понятия ос
- Классификация операционных систем
- Файловая структура эвм
- Примеры общепринятых расширений для популярных типов файлов
- Файловые системы Microsoft Windows
- Драйверы устройств
- Служебные программы
- Обзор операционных систем unix и Linux
- Обзор операционных систем Windows
- Вопросы и тестовые задания для самоконтроля
- Прикладное и инструментальное программное обеспечение
- Прикладное программное обеспечение общего назначения
- Прикладное программное обеспечение специального назначения
- Инструментальное по
- Нумерация версий программ
- Правовой статус программ
- Текстовые редакторы и процессоры
- Программы подготовки презентаций
- Вопросы и тестовые задания для самоконтроля
- Электронные таблицы
- Основные понятия электронных таблиц Excel
- Ввод, редактирование и форматирование данных
- Вычисления в таблицах
- Диаграммы
- Вопросы и тестовые задания для самоконтроля
- Модели решения функциональных и вычислительных задач
- Моделирование как метод познания
- Классификация моделей
- Классификация видов моделей
- Компьютерное моделирование
- Информационные модели
- Примеры информационных моделей
- Базы данных
- Искусственный интеллект
- Вопросы и тестовые задания для самоконтроля
- Основы алгоритмизации
- Основные этапы компьютерного решения задач
- Понятие алгоритма и его свойства
- Исполнители алгоритмов
- Способы описания алгоритмов
- Обозначение и функциональное назначение наиболее часто употребляемых символов в схемах данных и программ
- Базовые управляющие структуры алгоритмов (основные алгоритмические конструкции)
- 2) Альтернатива (ветвление);
- 3) Итерация1 (цикл).
- Алгоритмы линейной структуры
- Алгоритмы ветвящейся структуры
- Алгоритмы циклической структуры
- Способы комбинации базовых управляющих структур (основных алгоритмических конструкций)
- Примеры комбинации основных алгоритмических структур
- Вопросы и тестовые задания для самоконтроля
- Основы программирования на языках высокого уровня
- Основные понятия языков программирования
- Примеры использования имён
- Операторы в арифметических и логических выражениях
- Типы данных и операторы описания переменных
- Некоторые базовые типы переменных
- Описание переменных в разных языках
- Синтаксис операторов описания сложных типов переменных
- Основные операторы
- Синтаксис некоторыхоператоров
- Вопросы и тестовые задания для самоконтроля
- Основные операторы языка visual basic for applications
- Оператор присваивания
- Примеры использования оператора присваивания
- Условный операторIf … then
- Оператор выбора варианта*
- Операторы цикла
- Оператор циклаFor … next
- Математические функции
- Краткие сведения о математических функциях в vba и Паскале
- Функции обработки строк*
- Краткие сведения о строковых функциях
- Функции преобразования данных
- Краткие сведения о функциях преобразования данных
- Вопросы и тестовые задания для самоконтроля
- Технологии программирования
- Концепция программирования
- Характеристика трудоёмкости разработки программ
- Структурное и модульное программирование
- Рекурсивные алгоритмы *
- Объектно-ориентированное программирование
- Вопросы и тестовые задания для самоконтроля
- Языки и системы программирования
- Уровни языков программирования
- Системы программирования
- Классификация языков программирования
- Процедурные языки программирования
- Объектно-ориентированные языки
- Декларативные языки
- Языки программирования для баз данных и компьютерных сетей
- Языки моделирования *
- Вопросы и тестовые задания для самоконтроля
- Основные понятия компьютерной графики
- Виды компьютерной графики
- Графические форматы
- Цветовые модели *
- Программные средства создания растровых изображений
- Программы векторной графики
- Программные средства обработки трехмерной графики
- Вопросы и тестовые задания для самоконтроля
- Основные понятия баз данных
- Задачи, решаемые с помощью баз данных
- Классификация бд
- Реляционная модель данных
- Свойства полей базы данных
- Типы данных
- Безопасность и объекты баз данных
- Проектирование баз данных *
- Вопросы и тестовые задания для самоконтроля
- Средства автоматизации проектных, опытно-конструкторских и научно-исследовательских работ.
- Задачи, решаемые с помощью систем автоматического проектирования
- Программные продукты MathWorks
- Сапр в легкой промышленности
- Вопросы и тестовые задания для самоконтроля
- Основы компьютерных сетей
- Основы передачи данных
- Назначение и классификация сетей
- Сетевая модель osi/iso
- Сетевое оборудование
- Основные стандарты и протоколы
- Т Вопросы и тестовые задания для самоконтроля
- Глобальная сеть интернет
- Подключение к Интернет
- Службы Интернет
- Поиск информации в Интернете
- Наиболее известные и популярные поисковые системы
- Поиск с использованием языка запросов *
- Логические операторы
- Вопросы и тестовые задания для самоконтроля
- Основы информационной безопасности
- Угрозы информационной безопасности
- Методы и средства защиты информации
- Правовые основы информационной безопасности
- Ответственность за преступления в области информационных технологий
- Криптографические механизмы защиты информации
- Компьютерные вирусы и вредоносные программы
- Методы защиты от вирусов
- Вопросы и тестовые задания для самоконтроля
- Библиографический список
- Учебное издание информатика Учебное пособие