Главная » Просмотр файлов » XIX Белоусов А.И., Ткачев СБ. Дискретная математика

XIX Белоусов А.И., Ткачев СБ. Дискретная математика (1081422), страница 51

Файл №1081422 XIX Белоусов А.И., Ткачев СБ. Дискретная математика (Зарубин В.С., Крищенко А.П. - Комплекс учебников из 21 выпуска) 51 страницаXIX Белоусов А.И., Ткачев СБ. Дискретная математика (1081422) страница 512018-01-11СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 51)

Просмотрим неотмеченные вершины из ее списка смежности и отметим вершины ее и пт, присваивая им номера 7 и 8 соответственно. Теперь, когда список смежности вершины ез обработан полностью, перейдем в вершину ее. Так как в ее списке смежности нет неотмеченных вершин, перейдем в вершину в7. Здесь также в списке смежности нет неотмеченных вершин. Все вершины обработаны, и поиск в ширину для графа закончен.

Результаты поиска в ширину из вершины ез в ориентированном графе представлены на рис. 5.21, б. Обратим внимание на то, что нумерация вершин при поиске в ширину отличается от нумерации вершин при поиске в глубину. Так, в ориентированном графе на рис. 5.21, б мы сразу отмечаем оба элемента списка смежности вершины ее. Поэтому вершине, получившей при поиске в глубину номер 4, при поиске в ширину присваивается номер 3. Перейдем теперь к подробному описанию алгоритмов поиска в глубину и поиска в ширину.

Рассмотрим алгоритм поиска в глубину в неориентированном графе. Будем считать, что граф задан списками смежности, собранными в массив лидеров. При поиске вершины графа нумеруются в порядке их посещения. Номер вершины е графа, присваиваемый ей при поиске в глубину, обозначим В[в] и будем называть ХЭ-номером. 5.5. Методы обхода вершин 317 В процессе обхода будем находить 4ундаментпеьаьные цаеалы графа. Понятие фундаментального цикла в неориентированном графе вводится следующим образом. Пусть в не- ориентированном графе 0 = (У, Е) произвольно фиксирован максимааьныб остповныб лес (см.

теорему 5.3). Для связного графа зто будет максимальное остовное дерево. Множество его ребер обозначим Т. Все ребра из Т назовем древесньами, а ребра исходного графа С, не принадлежащие Т, — обратимыми. Таким образом, фиксируя в графе С максимальный остовный лес, мы тем самым фиксируем разбиение множества его ребер на подмножества древесных и обратных ребер. В силу максимальности остовного леса любая пара вершин графа С, принадлежащвх одной и той же компоненте связности, соединена цепью, все ребра которой являются древесными. Возьмем теперь произвольно две вершины и и е, принадлежащие одной и той же компоненте связности графа С.

Пусть зти вершины соединены обратным ребром. Поскольку они также соединены цепью, содержащей исключительно древесные ребра, то существует цикл, содержащий зти две вершины, в котором будет единственное обратное ребро (п,е). Любой цикл графа С, содержащий только одно обратное ребро, назовем фундаментальным. Докажем, что не существует двух различных фундаментальных циклов, содержащих одно и то же обратное ребро (рис. 5.22).

Действительно, если предположить противное,то С возникает цикл С, содержащий лишь древес- Рис. 6.22 ные ребра, что невозможно. Итак, фиксируя в графе максимальный остовный лес, мы тем самым фиксируем взаимно однозначное соответствие между множеством обратных ребер и множеством фундаментальных циклов. Одним из способов построения максимального остовного леса может служить поиск в глубину. Именно при поиске в глубину всякое ребро, по которому из текущей вершины мы 318 5.

'ГЕОРИЯ ГРАФОВ попадаем в неотмеченную ранее вершину, будет древесным. Каждое ребро, не являющееся древесным, будет обратным. Максимальный остовный лес, находвмый с помощью алгоритма поиска в глубину, называют остпоеным лесом поиска е влубинуили злубинным остпоеным лесом.

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

Отметим, что не всякий максимальный остовный лес может быть получен с помощью алгоритма поиска в глубину. Например, для графа, юображенного на рис. 5.23, выделенный максимальный остовный лес нельзя получить при поиске в глубину, из Рне. 6.23 какои бы вершины мы не начинали поиск. Для организации работы алгоритма поиска в глубину используется способ хранения данных, называемый ставкам. Элементы в стеке упорядочиваются в порядке поступления.

В стек можно добавлять новые элементы и из него можно извлекать элементы. При этом доступен только последний добавленный элемент — вершина стпека, чем и определяется режим работы стека (последним пришел — первым ушел). Образно стек можно представить в виде стопки тарелок. Из стопки можно взять только верхнюю тарелку и только наверх можно добавить новую. Обычно стек реализуется в виде списка. В алгоритме поиска в глубину используетсл стек вершин.

Мы будем считать, что из стека можно считывать информацию без юменения его содержимого, но в том порядке, в каком ее удаляли бы из стека. Указанная операция считывания понадобится нам для поиска фундаментальных циклов. 6.5. Методы обхода верввое Алгоритм поиска в глубину 318 Вход. 1раф С = ( т', Е), заданный списками смежности. Выход. Множества 21ве древесных и Вася обратных ребер соответственно; множество Ре фундаментальных циклов, массив Р, содержащий Р-номера вершин. О. Просмотреть массив лидеров и сформировать множество ре вершин графа. Это множество используется для хранения новых (не обработанных алгоритмом) вершин.

В ходе работы алгоритма обработанные вершины будут удаляться нз этого множества. В процессе работы алгоритма для каждой вершины е необходимо знать, какие вершины из ее списка смежности Це] обработаны на предыдущих шагах работы алгоритма. Для этого формируется массив Ь„размера Щ, в котором хранятся номера первых еще не обработанных алгоритмом вершин списка смежности Ь[е] каждой вершины е.

Первоначально все элементы массива Ьр полагают равными 1. Стек вершин ВТАСК и список вершин фундаментального цикла Срс1е положить пустыми (БТАСК = Я, Срс1е = И). Множества Лес древесных ребер, Вася обратных ребер и Ео фундаментальных циклов положить пустыми (Бее = И, Вася = И, Ре = И). Массив Р-номеров Р обнулить.

Задать начальную вершину для поиска (е = ев). (Обычно это первая вершина массива лидеров.) Счетчик Р-номеров вершин сомни положить равным 1 (соип$ = 1). 1. Если множество то не пусто (~~ ф Я), перейти на шаг 2, если иначе — на шаг 8 (выход). 2. Если стек пуст (ЯТАСК = Я) и алгоритм стартует из вершины ео (сопим = 1), то перейти на шаг 3, если иначе, то выбрать нз множества ~~ произвольную вершину, из которой поиск в глубину будет продолжен (е = и, и Е К>), и перейти на шаг 3. 3. Поместить текущую вершину е в стек ЯТАСК. Присвоить вершине е Р-номер (Р[е] = соип$). Увеличить счетчик 320 б. ТЕОРИЯ ГРАФОВ Ю-номеров на 1 (соип1 = сомМ+ 1).

Удалить вершину е вз множества 1~~ новых вершин. Перейти на шаг 4. 4. Проверить по элементу Ьр[е], что не достигнут конец списка смежности Це] текущей вершины е. Если в списке смежности есть еще не обработанные вершины, получить иэ списка смежности очередную вершину ю, увели шть 1в[е] на 1 и перейти на шаг 6. Если список смежности Цо] вершины е обработан полностью, удалить вершину е из стека ЬТАСК и перейти на шаг 5. 5.

Если стек БТАСК пуст, вернуться на шаг 1, если иначе, то в качестве текущей вершины е взять вершину, находящуюся в вершине стека, и перейти на шаг 4. 6. Если вершина ю новая (и Е ~е), то добавить ребро (е, ш) в множество древесных ребер (З = 21 О Не, И), сделать вершину ш текущей (е = ш) и вернуться на шаг 3. Если вершина и не новая (и ф Ре), то перейти на шаг Т. Т.

Если ребра (и, ш) нет среди древесных ((е, ш) ф 21 ее), поместить ребро в список обратных ребер (Васй = Васй 0 Це, юЦ). Поместить вершину и в список Сусле. Читать содержимое стека ВТАСК, нашная с вершины стека, до появления вершины ш и помещать в список Сусеке (включая верпшну ю), т.е. формировать фундаментальный цикл, соответствующий обратному ребру 1е, ш). Добавить список Сусеке в множество фундаментальных циклов Р~ (Р, = Р, 0 (Сус1е)). Список Сус1е положить пустым (Сусеке = И). Вернуться на шаг 4. 8. Закончить работу. 5.5. Методы обхода еершшт 321 Пусть для неориентированного графа, изображенного на рис. 5.20, а, списки смежности имеют вид (5.1).

При выполнении поиска в глубину выделенные ребра являются древесными, остальные — обратными. Около каждой вершины указан присвоенный ей Р-номер. Фундаментальные циклы — в порядке их нахождения — таковы: ом оз, и,т, Оз, ит и оо, оы из, ту4, юз, ив. Поиск в глубину в неориентированном графе можно использовать и для нахождения числа его компонент. Очевидно, что зто число равно числу опустошений стека от начала до конца поиска в глубину.

Характеристики

Тип файла
DJVU-файл
Размер
5,42 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Зарубин В.С., Крищенко А.П
Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6418
Авторов
на СтудИзбе
307
Средний доход
с одного платного файла
Обучение Подробнее