Главная » Просмотр файлов » Т. Кормен, Ч. Лейсерзон, Р. Риверст, К. Штайн - Алгоритмы. Построение и анализ (2013)

Т. Кормен, Ч. Лейсерзон, Р. Риверст, К. Штайн - Алгоритмы. Построение и анализ (2013) (1162189), страница 140

Файл №1162189 Т. Кормен, Ч. Лейсерзон, Р. Риверст, К. Штайн - Алгоритмы. Построение и анализ (2013) (Т. Кормен, Ч. Лейсерзон, Р. Риверст, К. Штайн - Алгоритмы. Построение и анализ (2013)) 140 страницаТ. Кормен, Ч. Лейсерзон, Р. Риверст, К. Штайн - Алгоритмы. Построение и анализ (2013) (1162189) страница 1402019-09-19СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Следовательно, лемма выполняется при внесении в очередь новой вершины и. Приведенное ниже следствие показывает, что значения И вносимых в очередь вершин монотонно возрастают со временем. Следствие 22.4 Предположим, что вершины иг и и вносятся в очередь в процессе работы процедуры ВРБ и что иг вносится в очередь до и . Тогда в момент внесения в очередь вершины и; выполняется неравенство иы б < и . б. Доказательство.

Доказательство вытекает непосредственно из леммы 22.3 и того факта, что каждая вершина получает конечное значение И в процессе выполнения процедуры ВРЯ не более одного раза. Теперь мы можем доказать, что метод поиска в ширину корректно определяет длины кратчайших путей. Теорема 22.5 корректность ноиска в тирану) Пусть С = (г', Е) представляет собой ориентированный или неориентированный граф, и предположим, что процедура ВРЯ выполняется над графом С с определенной исходной вершиной в е Г Тогда в процессе работы процедура ВРЯ открывает все вершины и Е Ъ', достижимые из исходной вершины в, а по окончании работы для всех и е К справедливо равенство и. И = б(в, и). Кроме того, для всех достижимых из в вершин и Ф в один из кратчайших путей от в к и— это путь от в к и.

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

Очевидно, что и ф в. Согласно лемме 22.2 и, б > б(в, и), так что в силу нашего исходного предположения и.б > б(в,и). Вершина и должна быть достижима из в, потому что, если это не так, б(в, и) = оо > и. Ы. Пусть и — вершина, непосредственно предшествующая и на кратчайшем пути от в к и, так что б(в,и) = б(в, и) + 1.

Поскольку б(в, и) < б(в, и), в силу нашего выбора вершины и выполняется условие Главадй Элементарные алгоритмы длл работы с градами б37 и. Н = б(в, и). Обьединив полученные результаты, имеем о.Н > б(в,о) = б(в,и) +1 = и.0+ 1 (22.1) Теперь рассмотрим момент, когда процедура ВРИ удаляет узел и из очереди Я в строке 11. В этот момент вершина о может быть белой, серой или черной. Мы покажем, что для каждого из этих случаев мы получим противоречие с неравенством (22.1). Если вершина о белая, то в строке 15 выполняется присвоение о.б = и. Н + 1, противоречащее (22.1). Если о — черная вершина, то она уже удалена нз очереди и согласно следствию 22.4 о, б < и. г(, что, опять-таки, противоречит (22.!). Если о — серая вершина, то она была окрашена в этот цвет при удалении из очереди некоторой вершины ш, которая была удалена ранее вершины и и для которой выполняется равенство о. Н = ш.

Ы + 1. Однако из следствия 22.4 вытекает, что ш.Н < и.Н, поэтому о.Н = ш.0+1 < и.0+1, что также противоречит (22.1). Итак, мы заключили, что о. г( = б(в, о) для всех о ~ И. Процедурой должны быть открыты все достижимые из в вершины о, потому что, если это не так, для них будет выполняться со = о. Н > б(в, о). Для завершения доказательства теоремы заметим, что если о.

7г = и, то о. Ы = и. Н + 1. Следовательно, мы можем получить кратчайший путь из в в о, взяв кратчайший путь из в в о.л, а затем пройдя по ребру (о. а, о). Деревья поиска в ширину Процедура ВРЗ строит в процессе обхода графа дерево поиска в ширину, как показано на рис. 22.3.

Это дерево соответствует атрибутам л в каждой вершине. Говоря более формально, для графа С = (Ъ; Е) с исходной вершиной в мы определяем «адграф «ред«гесг«еоеа««я (ргедесеввог вцЬйгарЬ) графа С как С = (Ъ', Е ), где 1'и = (о Е 17 '. о. л ф М1Ь) 0 (в) Е, = ((о.7г, о): о е 17и — (в)) Подграф предшествования С является деревом «о«ока в «гири«у (Ьгеадгй-Гпзг 1гее), если И состоит из вершин, достижимых из в, и если для всех о е И в С„имеется единственный простой путь из в в о, такой что он одновременно является кратчайшим путем из в в о в С.

Дерево поиска в ширину является деревом, поскольку оно является связным и (Е ) = ٠— 1 (см. теорему Б.2). Ребра в Е называются ребрами дерева (1гее едйев). Следующая лемма показывает, что после выполнения процедуры ВРБ над графом С с исходной вершиной в подграф предшествования представляет собой дерево поиска в ширину. Части П.

Алгоритмы длл работы с грифами бзв Лемма 22.6 Будучи примененной к ориентированному или неориентированному графу С = ($; Е), процедура ВГЯ строит гг таким образом, что подграф предшествования Са = (У, Е ) является деревом поиска в ширину. Доказаагельсагво. В строке 16 процедуры ВРБ присвоение о.я = и выполняется тогда и толькотогда, когда (и,и) е Е и 6(в,о) < оо,т.е. если с достижимо из в. Следовательно, $; состоит из вершин Ъ', достижимых из в. Поскольку С образует дерево, согласно теореме Б.2 он содержит единственный путь из в в каждую вершину множества $;. Индуктивно применив теорему 22.5, мы заключаем, что каждый такой путь является кратчайшим в С.

Приведенная далее процедура выводит все вершины на кратчайшем пути из в в о в предположении, что дерево поиска в ширину уже построено процедурой ВРБ. РК1МТ-РАТН (С, в, о) ! !!о==в 2 рпп1 в 3 е!зеИ о.х == гчн. 4 рпп! "Путь из" в "в" о "отсутствует" 5 е!зе Ркгнт-РАтн(С, в, с.

л) 6 рплг с Время работы процедуры линейно зависит от количества выводимых вершин, поскольку каждый рекурсивный вызов процедуры осуществляется для пути, который на одну вершину короче текущего. Упражнения 22.2Л Покажите, какие значения г( и гг получатся в результате поиска в ширину в ориентированном графе, показанном на рис. 22.2, (а), если в качестве исходной взять вершину 3. 22.2.2 Покажите, какие значения а и я получатся в результате поиска в ширину в неориентированном графе, показанном на рис.22.3, если в качестве исходной взять вершину и.

22.2.З Покажите, что достаточно одного бита для цвета для того, чтобы процедура ВРБ давала корректный результат, доказав, что при удалении строки 1е из процедуры она будет давать тот же результат, что и с этой строкой. ба 9 Глава 22. Элементарные аыоритмы дал работы с графамн 22.2.4 Чему будет равно время работы процедуры ВРЯ, адаптированной для работы с матричным представлением графа? 22.2.5 Докажите, что при выполнении поиска в ширину значение и. Н, назначаемое вершине и, не зависит от порядка перечисления вершин в списках смежности. Используя рис.

22.3 в качестве примера, покажите, что вид дерева поиска в ширину, вычисленного с помощью процедуры ВРК, может зависеть от порядка перечисления вершин в списках смежности. 22.2. 6 Приведите пример ориентированного графа С = ($; Е), исходной вершины л е 'е' и множества ребер дерева Е С Е, таких, что для каждой вершины е е )г' единственный путь в графе ($', Е„) от в к о является кратчайшим путем в графе С, но множество ребер Е невозможно получить с помощью процедуры ВРИ ни при каком порядке вершин в списках смежности. 22.2.

7 Предположим, что есть и борцов, между любой парой которых может состояться (а может и не состояться) поединок, и список г поединков. Разработайте алгоритм, который за время 0(п+ г) определяет, можно ли разделить всех борцов на две команды так, чтобы в поединках встречались только борцы из разных команд и чтобы, если это возможно, алгоритм выполнял такое разделение. 22.2,8 * Диаметр дерева Т = (\г, Е) определяется как шаха ее~ б(и, о), т.е. диаметр— зто наибольшая длина кратчайшего пути в дереве. Разработайте эффективный алгоритм вычисления диаметра дерева и проанализируйте время его работы.

22.2.9 Пусть С = (Ь; Е) — связный неориентированный граф. Разработайте алгоритм для вычисления за время 0($'+ Е) пути в С, который проходит по каждому ребру из Е ровно по одному разу в каждом направлении. Придумайте способ выйти из лабиринта, если у вас в карманах имеется много монет. 22.3. Поиск в глубину Стратегия поиска в глубину, как следует из ее названия, состоит в том, чтобы идти "в глубь" графа, насколько это возможно. При выполнении поиска в глубину он исследует все ребра, выходящие нз вершины, открытой последней, н покидает вершину, только когда не остается неисследованных ребер — при этом происходит "откат" в вершину, из которой была открыта вершина ю.

Этот процесс продолжается до тех пор, пока не будут открыты все вершины, достижимые из исходной. 640 Часть У1 Алгоритмы для работы с графами Если при этом остаются неоткрытые вершины, то одна из них выбирается в качестве новой исходной вершины и поиск повторяется уже из нее. Этот процесс повторяется до тех пор, пока не будут открыты все вершины.з Как и в случае поиска в ширину, когда вершина и открывается в процессе сканирования списка смежности уже открытой вершины и, процедура поиска записывает это событие, устанавливая атрибут о.

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

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

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

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