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

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

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

[Инициализация [ Установить Р +- НЕАР, Р' +- НЕКО', это заголовки соответствующих списков данных правопрошитых бинарных деревьев. Перейти к шагу КЗ. К2. [Проверка поля 1МРО.! Если 1МРО(Р) «1МРО(Р'), прекратить выполнение алгоритма (Т «Т'); если 1МРО(Р) Ь 1МРО(Р ), прекратить выполнение алгоритма (Т м Т').

КЗ. [Переход влево] Если ШМК(Р) = Л = ШМК(Р'), перейти к шагу К4: если ШМК(Р) = Л ф Ы.1МК(Р'), прекратить выполнение алгоритма (Т «Т'), если ШМК(Р) ф й = ШМК(Р'), прекратить выполнение алгоритма (Т Ь Т'); н противном случае установить Р е- ШИК(Р), Р' + — ШИК(Р') и перейти к шагу К2. К4. [Конец обходаг[ Если Р = КЕАО (или, что эквивалентно, если Р' = ЕЕАО'), прекратить выполнение алгоритма (Т эквивалентно Т ). 115. [Переход вправо.] Если НТАС(Р) = 1 = НТАС(Р'), установить Р з- Н1.1МК(Р), Р' +- НЬ1ИК(Р') и перейти к шагу ВА. Если НТАС(Р) = 1 ~ НТАС(Р'), прекратить выполнение алгоритма (Т -с Т').

Если НТАС(Р) ТА 1 ле НТАС(Р'), прекратить выполнение алгоритма (Т ы Т'). В противном случае установить Р +- И1.1ИК(Р), Р' +- НЬ1ИК(Р') и перейти к шагу В2. Для доказательства справедливости этого алгоритма (и, следовательно, для понимания принципа его работы) можно методом индукции по размеру дерева Те показать, что справедлива следующее утверждение: "Начиная с шага Я2 с Р и Р', указывающими па корни двух непугтых правопрошитых би~арньгх деревьев Те и Те, выполнение алгоритлга прекращается, если Те н Те не эквивалентны, но известно, что либо Те м Тес, либо Те м Те.

Алгоритм досзнгнет шага )л4, если Те и Те яеляюпься эквивалентными с Р и Р', указывающими соответственно на узлы-последователи для узлов Те н Те в снмллетрнчном порядке". 28. Исходное дерево эквивалентно н подобно его копии. 29. Докажите методом индукции по размеру дерева Т, что справедливо следующее утверждение; "Начиная с шага С2 с Р, указывающим на корень непустого бинарного дерева Т, с Ц, указывающим на узел, который имеет пустые левое н правое поддеревья, эта процедура в конечном итоге достигнет шага Сб после установки 1МРП(Ц) +- 1ИРО(Р) и прнсоедннения копий левого и правого поддеревьев узла МОПЕ(Р) к узлу МОСЕ(Ц) и с Р и Ц, указывающими соответственно на узлы-предшественники деревьев Т и узла МОСЕ(Ц) в прямом порядке".

30. Предположим, что указатель Т в (2) равен ЬЬТМК(НЕАП) в (10). 1 1. [Инициализация.] Установить Ц +- НКАП, НЬ1МК(Ц) +- Ц. Ь2. [Продвижение.] Установить Р з — Цз (см. ниже). ЬЗ. [Прошивка.] Если КЬ1МК(Ц) = Л, установить НЬ1ИК(Ц) л — Р, НТАС(Ц) +- 1; в против- ном случае установить НТАС(Ц) +- О. Если ЬЬТИК(Р) = Л, установить ЬЬТМК(Р) < — Ц, ЬТАС(Р) +- 1; в противном случае установить ЬТАС(Р) +- О.

1 4.[Обход завершену] Если Р ф НЕАП, установить Ц +- Р и вернуться к шагу Ь2. $ На шаге Ь2 этого алгоритма предполагается активизация сопрограммы симметричного порядка обхода, как в алгоритме Т, с дополнительным условием, что алгоритм Т посещает узел НЕАП после полного обхода всего дерева. Это обозначение является удобным упрощением при описании алгоритмов обхода деревьев, поскольку не требуется повторять описание стека из алгоритма Т.

Конечно, на шаге Ь2 не может использоваться алгоритм Я, посказьку дерево еще не прошито. Но алгоритм из упр. 21 использовать можно, и благодаря этому появляется еще один удобный метод прошивки дерева без какогшлибо вспомогательного стека. 31. Х1. Установить Р л — НЕАП. Х2. Установить Ц л- Рл (используя, например, алгоритм Я модифицированного право- прошитого дерева). ХЗ.

Если Р ф НЕАП, установить АТА11 ~ Р. Х4. Если Ц ~ НЕАП, установить Р л- Ц и вернуться к шагу Х2. Хб. Установить ЬЬ1ИК(НКАП) л — Л. $ Очевидно, что возможны и другие решения, которые сокращают протяженность внутреннего цикла, хотя порялок основных шагов довольно сомнителен. Укаэанная процедура работоспособна, поскольку ни один узел не возвращается в область доступных ячеек до тех пор, пока алгоритм 5 не исследует его связи ЬЬТМК и НЬ1ИК.

Как упоминалось в тексте данного раздела„каждая из этих связей используется в точности один раэ прн полном обходе дерева. 32. М.ТМК(Ц) < — Ы.1МК(Р), ЗВС(Ц) +- ЗОС(Р), ЗОС(Р) <†Н11МК(Р) +- Ц, РЕЕВ(Ц) +- Р, РЕЕВ(БОО(Ц)) <- Ц. ЗЗ. Вставка узла МОВЕОЦ) слева и снизу узла МОВЕ(Р) выполняется довольно просто: установить ШМКТ(Ц) +- ШМКТ(Р), ШМК(Р) +- Ц, ЕТАО(Р) +- О, Н1.1МК(Ц) +- Л, Вставку справа выполнить гораздо сложнее, поскольку для этого необходимо найти эЦ, что так же сложно выполнить, как н найти Ц( (см. упр.

19). Для этого можно использовать метод перемещения узлов, который рассматривается в упр. 23. Поэтому в общем случае вставки при таком типе прошивки выполняются гораздо сложнее. Но вставки согласно алгоритму С выполняются гораздо проще, чем вставки общего типа. Действительно, процесс копирования осуществляется несколько быстрее для такого типа прошивки. С1.

Установить Р +- НЕАВ, Ц е — О, перейти к шагу С4. (Далее используются предположения и идеология алгоритма С из данного раздела.) С2. Если НЕ1МК(Р) ~ Л, установить Н ~ АУА11, ШМК(Н) +- 111МК(Ц), ЕТАО(Н) +- 1, Ы.1МК(Н) +- Л, Н(.1МК(Ц) +- 1Л.1МК(Ц) +- Н. СЗ. Установить ХМРО(Ц) +- 1МРО(Р). С4. Если ЕТАО(Р) = О, установить Н ~ АЧА1)ч ШМК(Н) +- ШМК(Ц), ЕТАООК) э- 1, М.1МК(Н) е — Л, ШМК(Ц) +- Н, 1ТАО(Ц) +- О. С5. Установить Р < — ШМК(Р), Ц +- ШМК(Ц). Сб. Если Р ф НЕАВ, перейти к шагу С2. $ Теперь этот алгоритм выглядит настолько простым, что возникают сомнения в его корректности! Алгоритм С для прошитых или правопрошитых бинарных деревьев выполняется несколько дольше иэ-за дополнительных затрат времени на вычисление Р~, Цк на шаге С5. Можно обычным образом прошить связи М.ХМК или поместить (Р в Н11МК(Р) в сочетании с методом копирования за счет заданных соответствующим образом значений Н1.1МК (Н) и Н11МКТ(Ц) на шагах С2 и С4.

34. А1. Установить Ц +- Р, а затем нн разу не устанавливать или устанавливать Ц ~- НЕ1МК(Ц) до тех пор, пока не выполнится условие НТАО(Ц) = 1. А2. Установить Н < — НПМК(Ц). Если ШМК(Н) = Р, установ ь ШМК(Н) +- Л. В противном случае установить Н е- ШМК(Н), затем ни разу не устанавливать или устанавливать Н < — Н1.1МК (Н) до тех пор, пока не выполнится условие Н11МК (Н) = Р; наконец, установить НЕ1МКТ(Н) +- МЕХМЕТ(Ц). (На этом шаге узел МОВЕ(Р) и его полдеревья удаляются нз исходного дерева.) АЗ.

Установить Ж.1МК(Ц) е- ЕЕАВ, ШМК(НЕАВ) е- Р. $ (Ключом к успеху при разработке и/или понимании этого алгоритма является построение достаточно наглядных схем состояний "до и после".) 36. Нет; см. ответ к упр. 1.2.1-15(е). 37. Если Ы1МК(Р) = НЕ1МК(Р) = Л для представления (2), положим 11МК(Р) = Л; в противном случае положим 11МК(Р) = Ц, где МОВЕ(Ц) соответствует МОВЕ(ШМК(Р) ) и МОВЕ(Ц+1) соответствует МОВЕ(Н11МК(Р)), Условие ШМК(Р) нли Н11МК(Р) = Л представлено с помощью признака в узле МОВЕ(Ц) или МОВЕ(Ц+1) соответственно.

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

В противном случае лес Р(В) состоит из дерева Т и леса г'(правое поддерево(В)), где корень(Т) = корень(В) и пцлдеревья(Т) = г (поддерево(В)). 2. Количество нулей в двоичном формате представления деревьев соответствует количеству десятичных разделительных знаков в десятичной системе обозначений Точная формула такого соответствия выглядит так: анап .аь+э1"01" 0...01" где 1' обозначает а расположенных подряд единиц.

3. Рассортируем в лексикографическом порядке обозначения узлов в десятичной системе обозначений Дьюи (слева направо, как в словаре), размещая более короткую последовательность аь .аь перед ее расширениями а~..аю .а„для прямого порядка обхода и после расширений — для обратного порядка обхода узлов. Таким образом, при сортировке слов, а не последовательностей чисел, для прямого порядка обхода потребовалось бы разместить слова каш и кашаракша в обычном порядке следования слов в словаре. А для получения обратного порядка обхода придется обратить исходное расположение слов: кагларакша, каш. Эти правила легко доказать методом индукции по размеру дерева. 4.

Да, справедливо, и это легко доказать методом индукции по количеству узлов дерева. б. (а) Симметричный. (Ь) Обратный. Формулировка строгого доказательства эквивалентности этих алгоритмов обхода на основе метода индукции представляет собой довольно интересную задачу. 6. Прямой порядок обхода дерева Т = прямой порядок обхода дерева Т', обратный порядок обхода дерева Т = симметричный порядок обхода дерева Т', даже если Т имеет узлы только с одним ребенком. Остальные два порядка не имеют прос гой взаимосвязя, например корень дерева Т находится в конце в одном случае и приблизительно в середине — в другом случае. 7.

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

что Тп..., Т являются поддеревьями корня дерева Т, а Т,',, Т„', — поддеревьями корня дерева Т, и допустим, что й > 0 такое максимально возможное, что Тз эквивалентно Тз для 1 < у' < к. Тогда либо и = п, либо lс < и и Тээ~ .~ Ть',, 9. В непустом лесу количество неконцевых узлов на один меньше количества правых связей, равных Л, потому что все пустые правые связи соответствуют крайнему справа ребенку каждого неконцевого узла, а также корню крайнего справа дерева в этом лесу. (На основании данного факта можно привести еще одно доказательство упр. 2 3.1-14, так как количество пустых левых связей, очевидно, равно количеству концевых узлов.) 10. Эти леса подобны тогда и только тогда, когда и = и' и г1(п~) = Ы(и') для 1 < у' < и; они эквивалентны тогда и только тогда, когда, кроме того, !пЕо(из) = ш1о(н',), 1 < у' < и.

Это доказательство выполняется аналогично предыдущему доказательству на основе обобщения леммы 2.3.1Р, где следует допустить, что ((и) = И(и) — 1. 11. Установить Н11МКТ(Н) +- НЕТМКТ(Ц). Н11МК(Ц) <- Н, НТАИЦ) +- О. СЗ Копи рвание анных т е поля 1МГО Пале ТУРЕ скопировано. С4.

Есть ли ел слева? Если ШМК(Р) ф Л, выполнить переход 12. Если 1МГО(Ц1) ф О, Установить Н < — СОРУ(Р1); если ТУРЕ(Р2) = О и 1МГО(Р2) ЧА 2, Уста- новить Н+- ТНЕЕ("7",ТНЕЕ(1ИГО(Р2) — !)); если ТУРЕ(Р2) ф О, установить Н < — ТНЕЕ("7",Н. ТНЕЕ(" †",СОРУ(Р2),ТНЕЕ(!))); затем установить Ц! <- И~Л.Т(01,МОЕТ(СОРУ(Р2),Н)). Если 1МГО(Ц) ЗА О, установить Ц +- ТНЕЕ("х",ЮЛ Т(ТНЕЕ(")пл „СОРУ(Р1)),Ц),ТНЕЕ('7", СОРУ(Р1).СОРУ(Р2))), Наконец, перейти к шагу 01ГГ(4). 13.

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

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

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

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