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

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

Файл №1123758 Т. Кормен, Ч. Лейзерсон, Р. Ривест, К. Штайн - Алгоритмы - Построение и анализ (2 изд.) (Т. Кормен, Ч. Лейзерсон, Р. Ривест, К. Штайн - Алгоритмы - Построение и анализ (2 изд.)) 124 страницаТ. Кормен, Ч. Лейзерсон, Р. Ривест, К. Штайн - Алгоритмы - Построение и анализ (2 изд.) (1123758) страница 1242019-05-10СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

21.4-1. 21.4-2. 2 1.4-3. Докажите лемму 21.4. Докажите, что ранг произвольного узла не превышает [1к и]. С учетом решения упражнения 21.4-2, сколько битов требуется для хра- нения поля гаик [х] узла х? 21.4-4. Используя решение упражнения 21.4-2, приведите простое доказательство того факта, что операции над лесом непересекающихся множеств с использованием объединения по рангу, но без сжатия пути, выполняются за время О (т 1я и).

Профессор полагает, что поскольку ранг узла строго возрастает вдоль пути к корню, уровни узлов должны монотонно возрастать вдоль этого пути. Другими словами, если гаик [х] ) 0 и р[х] — не корень, то 1ече1 (х) < 1ече1 (р [х]). Прав ли профессор? Рассмотрим функцию гг'(и) = ппп(й: Аь(1) > 1к(и+1)). Покажите, что для всех практических применений гг' (и) < 3. Покажите также, воспользовавшись решением упражнения 21.4-2, каким образом следует модифицировать аргумент потенциальной функции для доказательства того,что последовательность изтопераций Млке Янт,1)н1онирп и Бег, и из которых — операции Млнн Бнт, может быть выполнена над лесом непересекающихся множеств с использованием объединения по рангу и сжатия пути за время О (т гг' (и)) в наихудшем случае.

2 1.4-5. * 21.4-6. Задачи 21-1. Минимум в автономном режиме Задача лоиска минимума в автоаамиом режиме (ой-11ле пппппшп ргоЬ1еш) состоит в следующем. Пусть имеется динамическое множество Т с элементами из области определения (1,2,...,и), поддерживающее операции 1нзвкт и Ехтклсг Мпч. Задана последовательность Я из и Доказательство. Непосредственно следует из лемм 21.7, 21.10, 21.11 и 21.12. ° Упражнения Часть Ч. Сложные структуры данных 602 вызовов 1нзккт и т вызовов Ехтклст Мпч, в юторой каждый ключ из (1,2,...,п) вставляется ровно один раз.

Мы хотим определить, каюй ключ возвращается каждым вызовом Ехтклст Мпч, т.е. мы хотим заполнить массив ех$гас1ей [1..т], где ех~гасгей [г) (1 = 1, 2,..., т) представляет собой ключ, возвращаемый 1-м вызовом Ехтклст Мпч. Задача "автономна'* в том смысле, что перед тем как приступить к вычислениям, ей известна вся последовательность Я полностью. а) В следующей последовательности каждый вызов 1нзккг представлен вставляемым числом, а каждый вызов Ехтклст Мпч представлен буквой Е: 4, 8, Е, 3, Е, 9, 2, 6, Е, Е, Е, 1, 7, Е, 5. Заполните массив ехЬ асилей.

Для разработки алгоритма для решения этой задачи разобьем последовательность Е на гомогенные подпоследовательности, т.е. представим 8 в таюм виде: 1ы Е, 1з, Е, 1з,..., 1, Е, 1 +3 где каждая буква Е представляет один вызов Ехтклст Мпч, а 1 — последовательность (возможно, пустую) вызовов 1нзпкт. Для каждой подпоследовательности 1 мы сначала помещаем ключи, вставленные данными операциями, в множество К (которое является пустым, если подпоследовательность 1, пуста). Затем сделаем следующее: Огг 1пчн М~ммим[пз, и) 1 хогг' -1гоп 2 йо Определяем 3, таюе что г е Ку 3 113 от+1 4 гйеп ехгтас~ей Ц вЂ” ю' 5 Пусть 1 — наименьшее значение, большее 3 для которого существует множество К~ 6 К~ +- Ку 0 Кп уничтожаем К. 7 геФнгп ехйас1еИ б) Покажите корректность массива ех$гас1еа, возвращаемого процедурой Огг 1пчп Мммим.

в) Опишите, как эффективно реализовать процедуру Огг 1.!нв М~ммсм с использованием структур данных для непересекающихся множеств. Дайте точную оценку времени работы вашей реализации в наихудшем случае. Глава 21. Структуры данных для непересекающихся множеств 603 21-2. Определение глубины В задаче по определению глубины 1дердз-де1епшпа6оп ргоЫет) мы работаем с лесом Т = (Т;) корневых деревьев, в котором поддерживаются следующие три операции.

МАке Тнее(п) создает дерево, состоящее из единственного узла е. Р1НР РЕРТН(с) возвращает глубину узла и в его дереве. ОЕАет(т, е) ("прививка") делает узел г, являющийся корнем, дочерним по отношению к узлу с, который находится в дереве, корень которого отличен от г, но при этом не обязательно должен сам быть корнем. а) Предположим, что мы используем представление дерева такое же, как и в случае непересекающихся множеств: р [с] является родительским узлом с, и если о — корень, то р [с] = е.

Реализуем процедуру Оклет(г, и) путем присвоения р [т] + — и, а Р1нп Регтн(п) — как поиск пути к корню с подсчетом всех узлов (кроме п), встречающихся на этом пути. Покажите, что время работы последовательности из гп процедур Млке Ткее, Р!х0 РеРтн и Оклет в худшем случае равно г) Используя объединение по рангу и сжатие пути, мы можем снизить время работы в наихудшем случае. Воспользуемся лесом непересекающихся множеств 8 = (Яз), где каждое множество о1 (представляющее собой дерево) соответствует дереву Т; в лесу Т. Структура дерева в Яг не обязательно соответствует структуре дерева Т;.

Однако хотя реализация Яг не хранит точные отношения родитель-потомок, но тем не менее она позволяет нам определить глубину любого узла в Ть Ключевая идея состоит в хранении в каждом узле с "псевдодистанции" Ы [о], которая определена таким образом, что сумма псевдодистанций вдоль пути от е к корню его множества 51 равна глубине п в Т;; т.е. если путь от и к корню Яг представляет собой последовательность по,пм, еь, где по = сь и сь — корень Я;, то глубина е в Т, равна 2.з=о д [ьу]. б) Приведите реализацию процедуры МАКЕ ТНЕЕ.

в) Покажите, как следует изменить процедуру Р1 в Бет лля реализации процедуры Р1хп дегтя. Ваша реализация должна осуществлять сжатие пути, а время ее работы линейно зависеть от длины пути. Убедитесь в корректности обновления псевдодистанций вашей процедурой. 604 Часть Ч. Сложные структуры данных г) Покажите, как можно реализовать процедуру ОКАет(т, и), которая объединяет множества, содержащие т и и, модифицируя процедуры Бн1он и Ь1нк.

Убедитесь в корректности обновления псевдодистанций вашей процедурой. Не забывайте, что корень множества Я; не обязательно должен быть корнем соответствующего дерева Т,. д) Дайте точную оценку времени работы в наихудшем случае последовательности из тп операций МАке Ткее, Р1н0 1)еетн и ОЕАР, и из которых — операции МАке Ткее. 21-3.

Алгоритм Таржана для автономного поиска наименьшего общего предка наименыиий общий предок (1еам сопппоп апсез1ог) двух узлов и и и в корневом дереве Т представляет собой узел ю, который среди узлов, являющихся предками как и, так и и, имеет наибольшую глубину. В задаче автономного ноиска наименыиего общего предка (ой'-1ше !еаз1- сопппоп-апсез1ог ргоЫет) дано корневое дерево Т и произвольное множество Р = ((и, иЦ неупорядоченных пар узлов в Т. Для каждой пары узлов нз Р требуется найти их наименьшего общего предка.

Для решения задачи автономного поиска наименьшего общего предка осуществляется обход дерева Т путем вызова приведенной ниже процедуры 1 СА(тиос [Т]). Предполагается, что перед вызовом процедуры все узлы помечены как тин1те 1белые): 1.СА(и) 1 МАКЕ БЕТ(и) 2 апсевсот[Р1Х0 БЕТ(и)] — и 3 Рог (для) каждого и, дочернего по отношению к и 4 до ЬСА(и) 5 ЫН1ОН(и, и) 6 апсевтот[Р1Н0 БЕт[и)] + — и 7 со1от[и] — НЬАСК 8 1ог (для) каждого и, такого что (и, и) Е Р 9 Йо 11 со1от[и] = В1.АСК 1О Феп рпп1 "Наименьшим общим предком" и" и "и "является" апсев1от[Р1но бег[и)] а) Покажите, что строка 10 выполняется в точности по одному разу для каждой пары (и, и) Е Р.

б) Покажите, что при вызове ЬСА[и) количество множеств в структуре данных для непересекающихся множеств равно глубине и в Т. в) Докажите, что процедура 1.СА правильно выводит наименьших общих предков для каждой пары (и, и) Е Р. Глава 21. Структуры данных для непересекающихся множеств 605 г) Проанализируйте время работы процедуры ЬСА в предположении, что используется реализация непересекающихся множеств из раздела 21.3. Заключительные замечания Многие важные результаты о структурах данных для непересекающихся множеств в той или иной степени принадлежат Таржану (Таг1ап). В частности, именно им [290, 292) установлена точная верхняя граница с применением очень медленно растущей инверсии а (т, и) функции Аккермана (Аскеппапп). (Функция Аь (т'), используемая в разделе 21.4, подобна функции Аккермана, а функция ст (и) — ее инверсии.

Для всех мыслимых значений т и и как а (и), так и а (т, и) не превышают 4.) Верхняя граница О (т 1к' и) была доказана несколько ранее Хопкрофтом (Норсгой) и Ульманом ((Л1шап) (5, 155). Материал раздела 21.4 основан на более позднем анализе Таржана (294], который, в свою очередь, опирается на анализ Козена (Кохеп) [193]. Харфст (НагЫ) и Рейнгольд (КешяоЫ) [139] разработали версию доказательства полученных Таржаном оценок при помощи потенциалов. Таржан и ван Леувен (чап Ьееиттел) [295] рассмотрели разные варианты эвристики со сжатием пути, включая однопроходные варианты, которые эффективнее двухпроходных в силу меньшего постоянного множителя.

Позже Харфст и Рейнгольд [! 39] показали, какие (небольшие) изменения следует внести в потенциальную функцию для адаптации их анализа сжатия пути к однопроходному варианту Таржана. Габон (баЬотт) и Таржан [103] показали, что в некоторых приложениях операции над непересекающимися множествами могут выполняться за время О (т).

Таржан [291] показал, что для операций над произвольными структурами данных для непересекающихся множеств, удовлетворяющими определенным техническим условиям, нижняя граница времени работы равна П (та (т, и)). Позже эта нижняя граница была обобщена Фредманом (Ргейпап) и Саксом (Бака) [97], которые показали, что в наихудшем случае эти операции требуют обращения к П (т а (т, и) ) словам памяти длиной !к и битов. ЧАСТЬ У1 Алгоритмы для работы с графами Введение Графы представляют собой распространенные структуры в информатике, и алгоритмы для работы с графами очень важны.

Имеются сотни интересных вычислительных задач, сформулированных с использованием графов. В этой части мы коснемся только некоторых наиболее важных из них. В главе 22 рассматриваются вопросы представления графов в компьютере и обсуждаются алгоритмы, основанные на обходе графа в ширину и в глубину. Приведены два применения обхода в глубину — топологическая сортировка ориентированного ациклического графа и разложение ориентированного графа на сильно связные компоненты. В главе 23 описывается вычисление остовного дерева минимального веса. Такое дерево представляет собой набор ребер, связывающий все вершины графа с наименьшим возможным весом (каждое ребро обладает некоторым весом). Эта задача решается при помощи жадного алгоритма (см.

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

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

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