AOP_Tom1 (1021736), страница 90

Файл №1021736 AOP_Tom1 (Полезная книжка в трёх томах) 90 страницаAOP_Tom1 (1021736) страница 902017-07-10СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

[М21) Пчсть 0-2-дерево обозначает дерево в котором каждый узел не имеет ни одного потомка или имеет двух детей (чормально О-2-дерево состоит из одного узла — корня, плюг О или 2 непересекающихся О-2-деревьев ) Покажите, что каждое 0-2-дерево имеет нечетное чисао узлов, и чстановите взшгино однозначное соответствие между бинарнычи деревьями с и узлами и (упорядоченными) О-2-деревьями с 2п + 1 узлами 21. [М22) Если дерево имеет п~ узлов степени 1, пэ узлов степени 2, и и, узлов степени т, го сколько в нем содержте я концевых узловч ь 22.

[21] Используемые в Европе стандартные форматы страниц АО, А1, А2,, Ап, представляют собой прямочгольники с соотношением сторон чГ2 к 1 н площадью 2 квадратных метров Следовательно, при разрезании пополам страницы формата Ап получим две страницы формата А(п -ь 1) Используя данный принцип, создайте графическое представление бинарных деревьев н проиллюстрируйте эту идею на црнмере структчры 2 3 1-(1) из следующего раздела 2.3.1. Обход бинарных деревьев Прежде чем продолжить изучение деревьев, необходимо тщательно рассмотреть свойства бинарных деревьев, поскольку деревья общего типа обычно представляются внутри компьютера в виде некоторого зквиваленгного бинарного дерева Бинарное дерево определено вьппе как конечное множество узлов, которое может либо быть пустым, либо состоять из корня вместе с двумя другими бинарными деревьями. Это определение наводит на мысль о естественном способе представления бинарных деревьев внутри компьютера: каждый узел имеет связи 11.1МК и К1.1МК, а также переменную связи Т, которая являетгя указателем дерева.

Если дерево пусто, то Т = Л; в противном случае Т является адресом корневого узла этого дерева, а 1.11МК(Т), М1.1МК(Т) — указателями на левое и правое подлеревья этого корня соответственно. Данные правила рекурсивно определяют представление в памяти любого бинарного дерева. Например, дерево может быть представлено таким образом: (2) Это простое и естественное представление дерева в памяти компьютера и объясняет особую важность бинарных древовидных структур Как показано в разделе 2.3.2, деревья общего типа очень удобно представлять в виде бинарных деревьев.

Более того, многие деревья в приложениях сами по себе являются бинарными, поэтому они представляют особый интерес. Существует достаточно много алгоритмов работы с древовидными структурами, в которых наиболее часто встречается понятие обхода (1гаеегюпу) дерева или "прохода" по дереву. При таком методе исследования дерева каждый узел посещается в точности один раз, а полный обход дерева задает линейное упорядочение узлов, что позволяет упростить алгоритм,так как при этом можно использовать понятие "следующий" узел, т, е, узел, который располагается перед данным узлом в таком упорядочении нли после него. Для обхода бинарного дерева можно применить один из трех принципиально разных способов: в прямом порядке (ргеогг1ег), в центрированком порл0ке (ьпогйег) или в обратном порядке (роз1оп1ег).

Эти три метода определяются рекурсивно. Если бинарное дерево пусто, то для его "обхода" ничего делать не потребуется, в противном случае обход выполняется в три этапа. Центрированный порядок обхода Пройти левое поддерево Попасть в корень Пройтн правое поддерево Прямой порядок обхода Попасть в корень Пройти левое поддерево Пройти правое поддерево Обратный порядок обхода Пройти левое поддерево Пройти правое поддерево Попасть в корень Если применить эти определения к бинарному дереву (1) и (2), то при прямом порядке обхода узлов получим последовательность А В Р С Е С Г Н Х (Сначала следует корень А, затем — левое поддерево в прямом порядке, и, наконец, правое поддерево в прямом порядке.) При центрированном порядке обхода корень посещается после обхода узлов одного из деревьев точно так, как если бы узлы дерева "проектировались" на горизонтальную прямую с образованием последовательности (4) Р В А Е С С Н Е Х Аналогично обратный порядок обхода позволяет получить последовательность Р В С Е Н 1 Г С А.

(5) Как будет показано ниже, эти три способа упорядочения узлов бинарного дерева в виде линейной последовательности чрезвычайно важны, поскольку они тесно связаны с большинством компьютерных методов обработки деревьев. Названия прямой, ценелрированный и обратный происходят, конечно, от расположения корня по отношению к поддеревьям. Во многих приложениях бинарных деревьев понятия левого н правого поддеревьев совершенно симметричны, и в таких случаях термин симметричный порядок используется в качестве синонима понятия центрированный порядок. Центрированный порядок, при котором корень располагается посередине, образует симметрию относительно левой и правой сторон: при отражении бинарного дерева относительно вертикальной оси получается простое обращение симметричного порядка. Для применения в компьютерных вычислениях предложенные выше рекурсивные определения трех основных способов обхода придется сформулировать несколько иначе. Наиболее общие методы такой переформулировки рассматриваются в главе 8.

Обычно для этого используется вспомогательный стек, например так, как в показанном ниже алгоритме. е - ллтяк(е) Рис. 23. Алгоритм Т лля симметричного обхода. Алгоритм Т (Обход дерева в сомме<прочном порядке). Пусть Т вЂ” указатель на бинарное дерево с представлением (2). Тогда в этом алгоритме (рис. 23) все узлы бинарного дерева обходятся в симметричном порядке с помощью вспомогательного стека А.

Т1. (Инициализация.] Опустошить стек А и установить переменную связи Р < — 1. Т2. ]Р =- Л".] Если Р = Л, перейти к шагу Т4, ТЗ. (Стек ~ Р.] (Теперь Р указывает на непустое бинарное дерево, которое нужно пройти,) Установить А ~ Р, т. е. вставить (протолкнуть) значение Р в стек А (сч. раздел 2.2.1). Затем установить Р < — ЕЕ1НК(Р) и вернуться к шагу Т2. Т4. ]Р ~ Стек.] Если стек А пуст, выполнение алгоритма прекращается; в против- ном случае установить Р <.= А. Т5. [Попасть в Р.] Попасть в узел НОРЕ(Р).

Затем установить Р < — ЕЕ1НК(Р) и вернуться к шагу Т2. к На заключительном шаге этого алгоритма слово "попастья означает, что по мере обхода дерева при попадании в узел выполняется заранее предусмотренная обработка узлов. Алгоритм Т по отношению к другим действиям основной программы выполняется как сопрограмма, т. е. основная программа вызывает эту сопрограл<му для перехода от одного узла к другому в заданном симметричном порядке.

Конечно, так как эта сопрограмма вызывает основную процедуру только в одном месте, она не очень отличается от подпрограммы (см. раздел 1.4.2). В алгоритл<е Т предполагается, что в результате выполнения внешних действий в данном дереве не удаляется ни узел НООЕ(Р), ни любой другой его узел-предшественник. Чтобы понять идею, лежащую в основе этого алгоритл<а, читатель может в качестве полезного упражнения применить алгоритм Т к бинарному дереву (2). По достижении шага ТЗ следует приступить к обходу бинарного дерева с корнем, на который указывает Р. При этом основная идея заключается в сохранении указателя Р в стеке с последующим обходом левого поддерева.

После выполнения этих действий необходимо вернуться к шагу Т4 и найти прежнее значение Р в стеке. После обхода корня НОРЕ(Р) на шаге Т5 остаегся только совершить обход правого поддерева. Алгоритм Т типичен лля многих других алгоритмов, которые будут рассмотрены ниже, поэтому имеет смысл привести форл<альное доказательство утверждений из предыдущего абзаца, Докво<сем с помощью метода индукции, .что алгоритм Т позволяет совершить обход бинарного дерева с и узлами в симметричном порядке.

Наша цель будет достигнута, если доказать справедливость несколько более общего утверждения. Начиная с шага Т2 с указателем Р иа бинарное дерево с и узлами н стеком А, содержащим элементы А [Ц... А [т3 для некоторого т > О, э»в процедура иа шагах Т2-Тб совершит обход бинарного дерева в симметричном порядке, а затем вернется к шагу Т4 с возвратом стека А в его исходное состояние А [Ц ... А [т]. Р* — адрес Рэ — адрес Р» — адрес ьР— адрес ЗР— адрес »Р — адрес узла-последователя МООЕ(Р) При обходе в прямом порядке; узла-последователя МООЕ(Р) при обходе в симметричном порядке; узла-последователя МОВЕ(Р) при обходе в обратном порядке; узла-предшественника МОВЕ(Р) при обходе в прямом порядке; узла-предшественника МООЕ(Р) при обходе в симметричном порядке; узла-предшественника МОРЕ(Р) при обходе в обратном порядке. (6) Если узел ИООЕ(Р) не имеет узлов-предшественников и узлов-последователей, то обычно используется обозначение ЕОС(Т), где Т вЂ” это внешний указатель на данное дерево.

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

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

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

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