Главная » Просмотр файлов » Д. Кнут - Искусство программирования том 1

Д. Кнут - Искусство программирования том 1 (1119450), страница 104

Файл №1119450 Д. Кнут - Искусство программирования том 1 (Д. Кнут - Искусство программирования том 1) 104 страницаД. Кнут - Искусство программирования том 1 (1119450) страница 1042019-05-09СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

е. рассматриваемое свойство не только "слабее" свойства "строго связный", но и еще слабее, чем свойство "корневой"). Ориентированное дерево (огееп1ед 1гее) (рис. 34), иногда называемое некоторыми авторами корневым деревом, представляет собой ориентированный граф с такой вер- В шиной В, что: так как еь = 1'о.

Значит, ориентированное дерево является свободным деревом, есан не учитывать направления дуг. Следует отметить, чэо этот процесс можно обратить. Если начать с такого непустого свободного дерева, как на рис. 30, то можно в качестве корня В выбрать любую вершину и задать направления для ребер. Если представить себе, что граф "подвесили" за вершину В и встряхнули, то стрелки ребер в нем будут направлены вверх. Более строгая формулировка выглядит так. Заменить ребро à — Ро дугой от !' к Г' тогда и только тогда, когда простой путь от е' к В проходит через е', т.

е, когда он имеет вид (1'о,\'ы,..,Ъ'„), где и) О, Ио — — Ъ; К~ — — Ъ", $'„=В. Для проверки справедливости этого построения нужно доказать, что для каждого ребра И вЂ” Рч указано направление И +- 1" (или Г -э 1"). И это действительно легко сделать, если (1; 1'ы..., Л) и (1", 1,..., Л) являются простыми путями, т. е. цикл существует всегда, за исключением случаев, когда 1х = У или 1; = 1~'. Такое построение демонстрирует, что направления дуг в ориентированном дереве полностью определяются расположением корня, а потому их можно не указывать на схемах, на которых корень обозначен явным образом.

Таким образом, установлена связь между тремя типами деревьев: (упорядоченным) деревом, которое имеет принципиальное значение в компьютерных программах, как показано в начале раздела 2.3, ориентированным (или неупорядоченным) и свободным деревом. Два последних типа деревьев также встречаются при изучении компьютерных алгоритмов, но не так часто, как первый. Основнос различие между этими типами древовидных структур заключается только в обвеме структурной информации, которая считается суи1ественпой.

Например, на рис. 35 показаны три дерева, которые различны, только если рассматривать их как упорядоченные деревья (с корнем вверху). А если их рассматривать как ориентированные деревья, то идентичными являются первые два, поскольку порядок поддеревьев "слева направо" здесь не существен. Наконец, если считать деревья свободными, то все они на рис. 35 идентичны, так как корень не определен.

Рис. 35. Три древовиднь1е структуры. Цепью Эйлера (Еи!вгзап сппсий) в ориентированном графе является такой ориентированный путь (еыез,...,е ), что каждая дуга ориентированного графа встречается в этом пути только один рвз и бп(е,„) = 1п!1(е1). Она представляет собой "полный обход" дуг диграфа. (Цепь Эйлера названа в честь Леонарда Эйлера (Ьеоппап1 Еп1ег), который в 1736 году рассмотрел знаменитую задачу о том, что невозможно обойти во время воскресной прогулки семь мостов Кенигсберга, посетив каждый из них в точности один раз.

Он также рассмотрел аналогичную задачу для неориентированных графов. Цепи Эйлера не следует путать с цепями Гамильтона (Нагп1!!оп!ап с1гспйз), т. е. ориентированными циклами, в которых каждая вершина встречается только один раз; см. гл. 7.) Ориентированный граф называется сбалансированным (Ьа!ангес!) (рис. 36), если каждая вершина T имеет равные по неличине степени входа и выхода, т.

е. сколько существует ребер, для которых вершина 1г является начальной, столько же существует ребер, для которых вершина 1г является конечной. Это условие тесно связано с законом Кирхгофа (см. упр. 24). Если ориентированный граф имеет цепь Эйлера, то очевидно, что он должен быть связным н сбалансированным, за исключением случаев, когда он имеет изолированные вершины (!зо!а!ей аег!!ссз), т. е. вершины с равными нулю степенями входа и выхода. Рис. 36. Сбалансированный ориентированный граф. Итак, в настоящем разделе дано довольно много определений (ориентированный граф, дуга, начальная вершина, конечная вершина, степень выхода, степень входа, ориентированный путь, простой ориентированный путь, ориентированный цикл, ориентированное дерево, цепь Эйлера, изолированная вершина, а также строгая связность, наличие корня и сбалансированность), но приведено лишь несколько связанных с ними результатов.

Теперь мы готовы приступить к изучению более сложного материала. Первым основным результатом является теорема И. Дж. Гуда [1. Л. Соос), Х Ьопдоп Маса. Эос. 21 (1947), 167-169), который показал, что цепи Эйлера существуют всегда, кроме случаев, когда они очевидно невозможны.

Теорема С. Конечный ориентированный граф без изолированных вершин содержит цепь Эйлера тогда и только тогда, когда он связанный и сбалансированный. Доказательство. Предположим, что граф С сбалансирован и Р = (еы...,е,„) представляет собой ориентированный путь максимально возможной длины, в котором ни одна дуга не проходится дважды. Тогда, если 1г = йп(е„,) и если !с— степень выхода вершины у', то путь Р должен включать все !с дуг е с начальной вершиной !шс(е) = $'.

В противном случае можно было бы добавить с и получить более длинный путь. Но если 1п!!(е ) = 1' и у' ) 1, то бп(е ~) = К Следовательно, так как граф С сбалансирован, получим !п1!(ес) = !' = Йп(е ); в противном случае степень входа вершины )г должна быть не меньше !с + 1. Теперь, выполнив цикрическую перестановку в Р, получим, что любая дуга е вне этого пути не имеет общих начальных и конечных вершин с любой дугой этого пути. Поэтому, если Р не является цепью Эйлера, граф С не является связным. 3 Между цепями Эйлера и ориентированными деревьями существует следующая важная взаимосвязь.

Лемма Е. Пусть цепь Эйлера (еы..., е ) ориентированного графа С не имеет изааированных вершин и пусть В = Йп(е„,) = ш1г(е,). Пусть для каждой вершины )г ~ В ребро с[И] является последним выходом нз Г в этой цепи, г. е. е[1'] = е,, есшг 1пй(е,.) =1', и 1пй(еь) ф1' дляу < к < т. (1) Тогда вершины графа С с дугами е[Ъ'] образуют ориентнроваииоедерево с корнем Я. Доказательство. Свойства (а) и (Ь) определения ориентированного дерева, очевидно, удовлетворяются. Согласно результату упр. 7 достаточно только показать, что среди еЯ не существует ориентированных циклов. Но доказательство этого можно получить сразу же, так как если бп(с[И]) = Рч = 1пЫ(с[И']), где с[И] = ез и е[$"] = еу, то у < у'. 3 Эту лемму, возможно, будет легче понять, если рассмотреть ее в обратном направлении, т.

е. рассмотреть "первые входы" в каждую вершину. Первые входы образуют неупорядоченное дерево, в котором все дуги направлены от В. Лемма Е имеет следующую удивительную и очень важную обратную формулировку, справедливость которой доказана Т. ваи Аардене-Эренфест и Н. Г, де Врейном [Т. хап Аагс(еппе-Ейгеп(езг апб Х. С. Йе Вгпцп, Яшоп Ягелп 28 (1951), 203-217].

Теорема 11. Пусть С вЂ” конечный, сбалансированный, орпеятпрованный граф, а С' — ориентированное дерево, состоящее пз вершин графа С и нескольких дуг графа С. Пусть й — корень дерева С', а е[И] — дуга дерева С' с начальной вершиной г'. Пусть е| — произвольная дуга графа С с тп(е,) = В. Тогда ориентированный путь Р = (е„ез,...,е ) будет цепью Эйлера, есля для него выполняются следующие условия; 1) никакая дуга ие проходится более одного раза, п е, е . ф еь для у' ~ Й; й) е['г'] не используется в Р, за исключением едтгствениого случая, который удовлетворяет условию (Ц, т.

е, если е. = е[Ч] н если е — дуга с!шс(с) = 1~, то е = еь для некоторого й < 1; ш) путь Р заканчивается, только если ои не может быть продолжен по правилу (1), т. е. если 1шй(е) = Яп(е ), то е = еь для некоторого Й. Доказательство. Согласно условию (ш) и доказательству теоремы 6 получим, что бп(е ) = 1шс(е~) = Л. Теперь, если е — дуга, которая не входит в состав пути Р, допустим, что Г = бп(е). Так как граф С является сбалансированным, значит, г— это начальная вершина некоторой дуги, не входящей в состав пути Р, а если И ~ 17, то согласно условию (й) получим, что е[)г] не входит в состав пути Р.

Испальзуем теперь те же доводы с е = е[Г] и в конечном итоге получим, что Я вЂ” начальная вершина некоторой дуги, не входящей в состав этого пути, что противоречит условию (ш). 3 Суть теоремы г) заключается, в том, что она демонстрирует простой способ построения цепи Эйлера в сбалансированном ориентированном графе для заданного ориентированного поддерева этого прафа (см.

пример в упр. 14). Действительно, теорема П позволяет подсчитать точное количество цепей Эйлера в ориентированном графе. Этот результат и другие важные следствия идей, изложенных в данном разделе, излагаются в приведенных ниже упражнениях. УПРАЖНЕНИЯ э. [М20] Докажите, что если У и У' — вершины ариентираваннога графа и если существует ориентированный путь от У к У', то существует простой ориентированный путь атУкрг. 2. [15] Какие из десяти "фундаментальных циклов" (3) из раздела 2.3.4.1 являются ориентированными циклами в ориентированном графе на рис. 32 из того же раздела? 3.

[1б] Нарисуйте схемы для ориентированного графа, который является связным, но не корневым. 4. [М20] Понятие гпополагическая соргпиравко (горо?ад?са1 эагеапд) для любого конечного ориентированного графа С можно определить как такое линейное упорядочение его вершин И Уэ... 11м в котором 1п11(е) предшествует Йп(е) для всех ребер е графа С (см. раздел 2.2.3, рис. б и 7). Известно, чта ее можно выполнить не для всех конечных ориентированных графов. Для каких графов ее можно осуществить? (Для ответа используйте терминологию из этого раздела.) б. [М1б] Пусть С вЂ” ориентированный граф, который содерясит ориентированный путь (ег,...,е„) с Йп(е ) = 1а!с(ег). Докажите, что С не является ориентированным деревам, используя предложенную в этом разделе терминологию.

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

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

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