Главная » Просмотр файлов » Алгоритмы - построение и анализ

Алгоритмы - построение и анализ (1021735), страница 252

Файл №1021735 Алгоритмы - построение и анализ (Алгоритмы - построение и анализ) 252 страницаАлгоритмы - построение и анализ (1021735) страница 2522017-07-10СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Приложения: математические основы 1218 Б.5 Деревья Как и слово "граф", слово "дерево*' также употребляется в несюльких родственных смыслах. Здесь представлены основные определения и математические свойства неюторых видов деревьев. Вопросы представления деревьев в памяти компьютера рассматриваются в разделах 10.4 и 22.1. Б.5.1 Свободные деревья Как уже говорилось в разделе Б.4, свободные деревья (Ггее ггее), или деревья без выделенного корня, представляют собой связный ациклический неориентированный граф.

Прилагательное "свободный" зачастую опускается, когда мы говорим о графе, являющемся деревом. Многие разработанные для деревьев алгоритмы могут работать и с лесом. Пример дерева показан на рис. Б.4а, леса— на рис. Б.4б. Лес не является деревом в силу того, что представляющий его граф не является связным. Граф на рис. Б.4в содержит цикл, а потому не может быть ни деревом, ни лесом. В следующей теореме указано несколько важных свойств деревьев. Теорема Б.2 (Свойства свободных деревьев). Пусть С = (1г, Е) — неориентированный граф. Тогда следующие утверждения равносильны. 1. С вЂ” свободное дерево.

2. Любые две вершины С соединяются при помощи единственного простого пути. 3. С вЂ” связный граф, но при удалении из Е любого ребра перестает быть таковым. 4. С вЂ” связный граф, и )Е! = ٠— 1. 5. С вЂ” ациклический граф, и )Е~ = ٠— 1. б. С вЂ” ациклический граф, но при добавлении любого ребра в Е получается граф, содержащий цикл. б) Рис. Б.4. Примеры дерева, леса и графа, который ие является деревом или лесом из- за наличия цикла Приложение Б. Множества и прочие художества 1219 к! Рис. Б.5. Иллюстрация к доказательству теоремы Б.2 Доказательство. (1)=ь(2). Поскольку дерево является связным, для любых двух вершин С имеется как минимум один соединяющий их простой путь. Пусть и и ц — вершины, соединенные двумя простыми путями р1 и рз, как показано на рис.

Б.5. Пусть ш — вершина, в которой пути впервые расходятся, т.е. следующие за ю вершины на путях р1 и рз, соответственно, х и у, причем х ~ У. Пусть я — первая вершина, в которой пути вновь сходятся, т.е. я — первая после и вершина на пути рп которая также принадлежит пути рз. Пусть р' — подпугь р1 от зц через х до г, а р" — подпуть рз от и через у до г.

Пути р' и р" не имеют общих точек, кроме конечных. Тогда путь, образованный объединением р' и пути, обратного к р", образует цикл. Это противоречит нашему предположению о том, что С является деревом. Таким образом, если С вЂ” дерево„то между вершинами не может быть больше одного соединяющего их простого пути. (2)=ь(3). Если любые две вершины С соединяются единственным простым путем, то С вЂ” связный граф. Пусть (и, ц) — ребро из Е. Это ребро представляет собой путь от и до ц, а значит, это единственный путь от и до ц.

Если мы удалим из графа путь (и, ц), пути от и до и не будет, а граф перестанет быть связным. (3)=ь(4). По условию граф С является связным, а из упражнения Б.4-3 нам известно, что )Е( > ٠— 1. Докажем по индукции, что )Е! < ٠— 1. Связный граф с одной или двумя вершинами имеет ребер на одно меньше, чем вершин.

Предположим, что С имеет и > 3 вершин и что для меньшего числа вершин выполнение условия ~Е~ < )Ц вЂ” 1 доказано. Удаление произвольного ребра из С разделяет граф на /с > 2 связных компонентов (на самом деле /с = 2). Каждый компонент удовлетворяет условию (3) теоремы, т.к. в противном случае этому условию не удовлетворяет само дерево С. Тогда, по индукции, количество ребер во всех компонентах не превышает ~Ц вЂ” /с < (Ц вЂ” 2.

Добавление удаленного ребра дает нам неравенство )Е! < ٠— 1. (4)=ь(5). Предположим, что граф С является связным и что )Е~ = (Ц вЂ” 1. Мы должны показать, что граф С ациклический. Предположим, что граф содержит цикл, состоящий из и вершин цы цз,..., ць', без потери общности можно считать, что это простой цикл.

Пусть Сь = (Уь Еь) — подграф С, состоящий из данного Часть ЧП1. Приложения: математические основы 1220 цикла. Заметим, что )Ъ~! = ~Еь~ = й. Если )с < Щ, то должна существовать веРшина пь+з Е 1г — )гь смежнаЯ с некотоРой веРшиной о; Е 1гам что следУет из связности С. Определим подграф Сь+з = Я+ы Еььг) графа С как подграф, У которого 1я+з = Ъа 0 (пя+з) и Еь+з — — Еь 0((о;,ил+1)). Заметим, что (Ъ~+г~ = = ~Ел+1~ = )с+ 1. Если ге + 1 < Щ, мы можем продолжить наше построение, аналогично определяя Сь+з и т.д.

до тех пор, пока не получим С„= Я„Е„), такой что и = Щ, Ъ'„= У и )Е„! = ))г„! = Щ. Поскольку ф— подграф С, Е„С С Е, следовательно, )Ц > )Ъ'), что противоречит предположению )Е) = ~Ц вЂ” 1. Следовательно, граф С ациклический. (5)=~(6). Предположим, что граф С ациклический и что )Е! = ~Ц вЂ” 1. Пусть й — количество связных компонентов графа С.

По определению каждый связный компонент представляет собой свободное дерево; поскольку из (1) вытекает (5), сумма всех ребер во всех связных компонентах С равна ~Ц вЂ” lс. Следовательно, й должно быть равно 1, а С должно быть деревом. Поскольку из (1) вытекает (2), любые две вершины С соединены единственным простым путем. Таким образом, добавление любого ребра к С создает цикл. (6)=в(1). Предположим, что С вЂ” ациклический граф, но добавление любого ребра в Е приводит к образованию цикла.

Мы должны показать, что С вЂ” связный граф. Пусть и и и — произвольные вершины графа С. Если и и и не являются смежными, добавление ребра (и,п) создает цикл, в котором все ребра, кроме (и, о), принадлежат С. Таким образом, существует путь из и в и, но поскольку и и и выбраны произвольно, С оказывается связным графом. Б.5.2 Деревья е корнем и упорядоченные деревья Дерево с кормим (гоо1ег) 1гее) представляет собой свободное дерево, в котором выделена одна вершина, именуемая корнем (гоо1) дерева.

Зачастую вершины в дереве с корнем называют узлами4 (лодел) дерева. На рис. Б.ба показано дерево с корнем, состоящее из 12 узлов с корнем в узле 7. Рассмотрим узел х в дереве Т с корнем т. Любой узел у на (единственном) пути от и к х называется кредкалг (апсез1ог) х. Если у является предком х, то х является лоязомкаиг (безсепдап1) у (каждый узел является собственным предком и потомком). Если у — предок х н х ф у, то у — истинный предок (ргорег апсез1ог) х, а х, соответственно, истинный потомок (ргорег с)езсепс)ап1) у. Поддереваи с кормиле в узле х (зиЬггее гоогед аг х) называется дерево, порожденное потомками х, корнем которого является узел х.

Например, на рис. Б.ба поддерево с корнем в узле 8 содержит узлы 8, 6, 5 и 9. Если (у, х) — последнее ребро на пути от корня и дерева Т к узлу х, то узел у является родилзельским (рагел1) по отношению к х, а х — ребенкам (сЫ16), Термин "узел" зачастую используется в теории графов как синоним термина "вершина". Мы ме будем использовать термин "узел" только лля вершины дерева с корнем.

1)рнложение Б. Множества н прочие художества 1221 г'."б б~ '4) Пбб«пз ',б.-, ' З) Гзбб лы Г ббякз б или дочерним узлом по отношению к узлу у. Корень дерева — единственный узел, не имеющий родительского узла. Если два узла имеют общий родительский узел, мы будем называть такие узлы родственными, или братьями (з(Ышлз).

Узел, у которого нет дочерних узлов, называется внешним узлом (ехгегпа! поде) или лиспиви (!еа1). Узел, не являющийся листом, называется внутренним узлам (шгегпа! поде). Количество дочерних узлов узла х называется его степеньюб (деягее). Длина пути от корня г к узлу х называется глубиной (бергЬ) узла х в дереве. Высота (Ье(БЬг) узла в дереве равна количеству ребер в самом длинном простом нисходящем пути от узла к листу; высотой дерева называется высота его корня. Высота дерева равна также наибольшей глубине узла дерева.

Упорядоченное дерево (огг(егеб ггее) представляет собой дерево с корнем, в котором дочерние узлы каждого узла упорядочены. Т.е. если узел имеет к дочерних узлов, то существует первый, второй, ..., к-й дочерние узлы. Два дерева, приведенные на рис. Б.ба и рис. Б.бб, отличаются, если рассматривать их как упорядоченные, но одинаковы, если трактовать их как обычные деревья с корнем. Б.5.3 Бинарные и позиционные деревья Бинарные деревья определяются рекурсивно. Бинарное дерево (Ьшагу ггее) Т представляет собой конечное множество узлов, которое ° либо не содержит узлов, ° либо состоит из трех непересекающихся множеств узлов: корневой узел, бинарное дерево, называемое левым поддереваи (1ей зпЬггее), и бинарное дерево, называемое правым поддеревом (г(яЬг впЬггее). Заметим, что степень узла зависит от того, рассматриваем ли мы дерево с корнем или свободное дерево.

Степень вершины в свободном дереве, как и а любом неориентироаангюм графе, равна количеству смежных вершин. В дереве с корнем степень равна количеству дочерних узлов— ролительский узел при вычислении степени не учитывается. А »к 1 г 'т (.'3 Рис. Б.б. Деревья с корнем и упорядоченные деревья Часть Ч!!!. Приложения: математические основы 1222 Бинарное дерево, которое не содержит узлов, называется пустым (ешр1у псе) или нулевьам (пи!1 ггее), и иногда обозначается как )чн..

Если левое поддерево непустое, его корень называется левым ребенком (1ей сЫ1б) корня всего дерева; аналогично, корень непустого правого поддерева называется правым ребенком (пбЬ! сЫ!с!). Если поддерево является пустым, мы говорим, что соответствующий ребенок отсутствует (аЬзепг). Пример бинарного дерева можно увидеть на рис. Б.7а. Бинарное дерево представляет собой не просто упорядоченное дерево, в котором каждый узел имеет степень не более 2. Например, в бинарном дереве в случае узла с одним дочерним имеет значение, какой именно этот дочерний узел — левый или правый. В упорядоченных деревьях такое различие в случае одного дочернего узла не делается. На рис.

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

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

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

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