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

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

Файл №1162189 Т. Кормен, Ч. Лейсерзон, Р. Риверст, К. Штайн - Алгоритмы. Построение и анализ (2013) (Т. Кормен, Ч. Лейсерзон, Р. Риверст, К. Штайн - Алгоритмы. Построение и анализ (2013)) 131 страницаТ. Кормен, Ч. Лейсерзон, Р. Риверст, К. Штайн - Алгоритмы. Построение и анализ (2013) (1162189) страница 1312019-09-19СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

На первый взгляд, можно подумать, что рекуррентное соотношение (20.4) применимо не всегда, поскольку один вызов чЕВТкее-Рекете может сделать два рекурсивных вызова: один в строке 13, и вто- зчг Часть К Сложные структуры данные рой — в строке 15. Хотя процедура может сделать оба рекурсивных вызова, давайте подумаем о том, что произойдет в таком случае. Чтобы был выполнен рекурсивный вызов в строке 15, проверка в строке 14 должна показать, что кластер х пуст. Единственный вариант, при котором кластер х может быть пустым — если х был единственным элементом этого кластера прн выполнении рекурсивного вызова в строке 13. Но если х был единственным элементом своего кластера, то этот рекурсивный вызов выполняется за время О(1), так как в нем выполняются только строки 1 — 3.

Таким образом, есть две взаимоисключающие возможности. Рекурсивный вызов в строке 13 выполняется за константное время. Рекурсивный вызов в строке 15 не осуществляется. В любом случае время выполнения процедуры чЕВ-Ткее-Пееете характеризуется рекуррентным соотношением (20.4), а следовательно, в наихудшем случае оно составляет О(1к 1я и).

Упражнения го.з.г Модифицируйте чЕВ-дерево таким образом, чтобы оно поддерживало дублирующиеся ключи. го.з.г Модифицируйте чЕВ-дерево таким образом, чтобы оно поддерживало ключи со связанными сопутствующими данными. го.з.з Напишите псевдокод процедуры, создающей пустое дерево ван Эмде Боаса. го.з.4 Что произойдет при вызове процедуры чЕВ-Ткее-1нзект с элементом, уже имеющимся в чЕВ-дереве? Что произойдет при вызове процедуры чЕВ-ТкееПн.ете с элементом, которого нет в чЕВ-дереве? Поясните поведение процедур в этих ситуациях. Покажите, как модифицировать чЕВ-деревья н операции над ними, чтобы за константное время можно было убеждаться в наличии в них определенных элементов.

го.з.з Предположим, что вместо ~/и кластеров, каждый с размером универсума Члсй, мы строим чЕВ-деревья с иг?" кластерами, каждый с размером универсума иг '?ь, где lс ) 1 — константа. Каким будет время выполнения операций над таким деревом при нх соответствующей модификации? Для простоты анализа считайте, что и и'?, н и~ 1 ~ всегда являются целыми числами. го.з.б Создание чЕВ-дерева с размером универсума и требует времени еу(и). Предположим, что необходимо явно подсчитать зто время.

Каково минимальное количество !пана 10. деревьв аан Энде Боаса операций и, для которого амортизированное время каждой операции над чЕВ-де- ревом составляет 0(1й 1й и)? Задачи 20.1. Требовання деревьев ван Эмде Бааса и памяти В этой задаче исследуются требования деревьев ван Эмде Боаса к памяти и предлагается способ модификации структуры данных, при котором требуемая память зависит от количества ц фактически хранящихся в дереве элементов, а не от размера универсума и. Для простоты считаем, что ~/й всегда является целым числом.

а Поясните, почему требуемая деревом ван Эмде Боаса с размером универсума и память Р(и) характеризуется следующим рекуррентным соотношением: Р(и) = (ч/и+ 1)Р(ч/й) + гз(чги) . (20.5) б. Докажите, что рекуррентное соотношение (20.5) имеет решение Р(и) = 0(и). Чтобы уменьшить требуемое количество памяти, определим дерево ван Эмде Бааса ео сниженным палачеством помята (гебисеб-арасе чап Етбе Воаз пеев ИЛ-чЕВ-дерево) как чЕВ-дерево ч', но со следующими изменениями. Атрибут ч'. с1ив1ег вместо простого массива указателей на чЕВ-деревья с размером универсума ч/й представляет собой хеш-таблицу (см.

главу 11), сохраненную как динамическая таблица (см. раздел 17.4). Хеш-таблица, соответствующая "массивной" версии К с(ив1ег, хранит указатели на КБ-чЕВ-деревья с размером универсума ч/й. Чтобы найти 1-й кластер, мы ишем в хеш-таблице ключ 1, так что кластер может быть найден с помощью единственной операции поиска в хеш-таблице. В хеш-таблице хранятся указатели только на непустые кластеры. Поиск в хештаблице пустого кластера возврашает значение мп., указывающее, что искомый кластер пуст. Атрибут К виттагу в случае, когда все кластеры пустые, равен ьпь. В противном случае К виттагу указывает на КБ-чЕВ-дерево с размером универсума „/и.

Поскольку хеш-таблица реализована с использованием динамической таблицы, требуемая для нее память пропорциональна количеству непусгых кластеров. Когда нужно вставить элемент в пустое КЯ-чЕВ-дерево, мы создаем последнее с помощью следующей процедуры, где параметр и представляет собой размер универсума Кб-чЕВ-дерева. 594 Часть К Своэсные гтруюпуры даннмг СкеАте-Хе%-КЯ-УЕВ-Ткее(н) 1 Выделить память для нового 9ЕВ-дерева $' 2 (г.и=и 3 Гтт = нп. 4 У.тат = нп. 5 У.виттагу = нп.

6 Создать (г, с1ив1ег как пустую динамическую таблицу 7 ге$нгп У в. Модифицируйте процедуру чЕВ-Ткнн-1мзнкт таким образом, чтобы получить псевдокод процедуры КЯ-УЕВ-Тннн-1мзнкт(Ъ; х), которая вставляет а в КЯ-9ЕВ-дерево Ъ', вызывая при необходимости процедуру Скнлтн-ХнтчКЯ-чЕВ-Ткее. а Модифицируйте процедуру чЕВ-Тннн-ЯпсснззОк таким образом, чтобы получить псевдокод процедуры КЯ-УЕВ-Ткнн-Япсснззок(Ъ',х), которая возвращает преемник элемента х в КЯ-9ЕВ-дереве Ъ' или нп., если у х нег преемника в $'. д. Докажите, что в предположении простого равномерного хеширования процедуры КЯ-УЕВ-Ткнн-1нзнкт и КЯ-УЕВ-Ткнн-Япсснззок имеют ожидаемое амортизированное время работы, равное 0(!я 1к и).

в. В предположении, что элементы из 9ЕВ-дерева никогда не удаляются, докажите, что требуемая для КЯ-9ЕВ-дерева память равна 0(п), где и — количество элементов, фактически хранящихся в КЯ-ЧЕВ-дереве. ж. КЯ-9ЕВ-деревья имеют еще одно преимущество перед 9ЕВ-деревьями; у них меньшее время создания. Сколько времени требуется, чтобы создать пустое КЯ-чЕВ-дерево? 20.2. у-бысгирме лучи В этой задаче исследуются "у-быстрые лучи" ("у-Тазг птеа") Д.

Уилларда (П. %Ч11агб), в которых, как и в деревьях ван Эмде Бааса, каждая из операций Мнмннд, Мппмпм, МАх~мпм, Рннпнснззон и Япсснззон над элементами из универсума с размером и в наихудшем случае выполняются за время 0(!к 1к и). Амортизированное время выполнения операций 1нзнкт и Пнснтн также составляет 0(16 16 и). Подобно деревьям ван Эмде Бааса со сниженным количеством памяти (см. задачу 20.1), у-быстрые лучи используют для хранения и элементов только 0(п) памяти.

В дизайне у-быстрых лучей используется идеальное хеширование (см. раздел 11.5). Для разработки предварительной структуры предполаким, что мы создаем идеальную хеш-таблицу, содержащую не только каждый элемент динамического множества, но и каждый префикс бинарного представления каждого элемента множества. Например, если и = 16, так что 1к и = 4, и х = 13 находится в множестве, то,поскольку бинарное представление 13 представляет собой 1101,идеаль- Глава 2К деревья вам Эмде Баева 595 ная хеш-таблица должна содержать строки 1„11, 110 и 1101.

В дополнение к хештаблице мы создаем дважды связанный список элементов, находящихся в данный момент в множестве, в порядке их возрастания. ж Какое количество памяти требуется этой структуре данных? б. Покажите, как выполнить операции Мппмцм и Млхгмцм за время 0(1); операции Мемвек, Ркепесеззок и Бпссеззок — за время 0(1к1К и); операции 1мзект и Пееете — за время 0(1л и). Для снижения требований к памяти до О(и) внесем в структуру данных следующие изменения. Кластеризуем и элементов в и/1я и групп размером 1л и. (Будем считать, что и делится на 1к и.) Первая группа состоит из 1к и наименьших элементов множества, вторая группа — из следующих по величине 1к и элементов, и т.д.

Объявим "представительное" значение для каждой группы. Представитель г-й группы как минимум такой же по величине, как наибольший элемент в г-й группе, и меньше любого элемента (г+ 1)-й группы. (Представителем последней группы может быть наибольший возможный элемент и — 1.) Заметим, что представителем может быть и значение, в настоящий момент в множество не входящее. Будем хранить !к и элементов каждой группы в сбалансированном бинарном дереве поиска, таком как красно-черное дерево. Каждый представитель указывает на сбалансированное бинарное дерево поиска своей группы, а каждое сбалансированное бинарное дерево поиска указывает на представителя своей группы.

В идеальной хеш-таблице хранятся только представители, которые также находятся в дважды связанном списке в возрастающем порядке. Назовем такую структуру у-быстрывв лучам. а Покажите, что у-быстрый луч для хранения и элементов требует только 0(и) памяти. а Покажите, как выполнять операции Мпч!мсм и Млхгмсм в у-быстром луче за время 0(!к 1я и). д. Покажите, как выполнить операцию Мемвек за время 0(1к!к и). е. Покажите, как выполнять операции РКЕПЕСЕЗЗОК и ЯОССЕЗЗОК за время О(1б1ки). ж. Поясните, почему операции 1ызект и Пекете требуют времени П(1л 1к и). з. Покажите, как ослабить требование, чтобы каждая группа в у-быстром луче имела ровно !я и элементов для того, чтобы амортизированное время работы операций 1мзект и Ревете было равно О(1л 1л и), и при этом не повлиять на асимптотические времена работы других операций.

596 Часть Н Сяансные структуры ааннык Заключительные замечаияя Структура данных в этой главе названа по имени П. ван Эмде Боаса (Р. кап Епк1е Воаз), который изложил соответствующую идею в 1975 году [3371. В более поздних статьях ван Эмде Боаса [3381 и ван Эмде Боаса, Кааса (Кааз) и Зейлстры (Х151з~га) [339) эта идея была развита и уточнена. Впоследствии Мель- хорн (МеЫЬогп) и Няхер (Хапег) [2501 расширили эту идею для простых размеров универсумов. В книге Мельхорна [2471 используется несколько иной подход к деревьям ван Эмде Боаса, чем подход из данной главы.

Используя идеи, лежащие в основе деревьев ван Эмде Боаса, Дементьев (13егпеп11еу) и др. [821 разработали нерекурсивное трехуровневое дерево поиска, которое в их экспериментах по производительности превосходило деревья ван Эмде Боаса. Ванг (%ап8) и Лин (Ып) [345) разработали версии деревьев с использованием аппаратной конвейеризации, с константным амортизированным временем работы операций и 0(1818 и) стадиями конвейера. Патраску (Раггазси) и Торуп (ТЬогир) [271, 2721 показали, что нижняя граница времени поиска предшественника в дереве ван Эмде Боаса оптимальна (даже в случае разрешенной рандомизации). Глава 21.

Структуры данных для непересекающихся множеств В некоторых приложениях выполняется группировка и различных элементов в набор непересекающихся множеств. Две важные операции, которые должны выполняться с таким набором, — поиск множества, содержащего заданный элемент, и обьединение двух множеств. В данной главе мы познакомимся со структурой данных, которая поддерживает эти операции. В разделе 21.1 описаны операции, поддерживаемые указанной структурой данных, и представлено простое приложение. В разделе 21.2 мы рассмотрим использование простого связанного списка для представления связанных множеств. Более эффективное представление с помощью корневых деревьев приведено в разделе 21.3.

Время работы с использованием деревьев линейно для всех практических применений, хотя теоретически оно сверхлинейно. В разделе 2!.4 определяется и обсуждается очень быстро растущая функция и ее очень медленно растущая инверсия, которая и проявляется во времени работы операций над представлением непересекающихся множеств с использованием деревьев. Там же с помощью амортизационного анализа доказывается верхняя сверхлинейная граница времени работы. 21.1.

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

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

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