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

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

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

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

Анализ этого случая предлагается выполнить в упражнении 17.4-2. Подведем итог. Поскольку амортизированная стоимость каждой операции ограничена сверху константой, фактическая стоимость выполнения произвольной последовательности из и операций над динамической таблицей равна 0 (и). Упражнения 17.4-1. Предположим, что нужно реализовать динамическую хеш-таблицу с открытой адресацией. Почему может понадобиться считать такую таблицу заполненной, когда ее коэффициент заполнения достигнет некоторого значения а, строго меньшего 1? Кратко опишите, как следует выполнять вставки в динамическую хеш-таблицу с открытой адресацией, чтобы математическое ожидание амортизированной стоимости вставки было равно 0 (1).

Почему математическое ожидание фактичесюй стоимости может быть равным 0 (1) не для всех вставок? !7.4-2. Покажите, что если а; 1 > 1/2 и г-я операция, выполняющаяся над динамической таблицей, — Тли~.е 13и~.нтп, то амортизированная стоимость операции для потенциальной функции (17.6) ограничена сверху юнстантой. 17.4-3. Предположим, что вместо того, чтобы сжимать таблицу, вдвое уменьшая ее размер при уменьшении коэффициента заполнения ниже значения 1/4, мы будем сжимать ее до 2/3 исходного размера, когда значение коэффициента заполнения становится меньше 1/3. С помощью потенциальной функции Ф (Т) = [2 пит [Т[ — вике [Т1[ покажите, что амортизированная стоимость процедуры ТАв~.в Рн.етв, в которой применяется эта стратегия, ограничена сверху константой.

Глава 17. Амортизационный анализ 505 Задачи 17-1. Обратный бинарный битовый счетчик В главе 30 описывается важный алгоритм, получивший название быстрого преобразования Фурье (Раз! Роипег Тгапз1опп, РРТ). На первом этапе алгоритма РРТ выполняется обратная перестановка битов (Ь!1-гечегза! регпппайоп) входного массива А !О..п — Ц, длина которого равна и = 2ь для некоторого неотрицательного целого и. В результате перестановки каждый элемент массива меняется местом с элементом, индекс которого представляет собой преобразованный описанным далее образом индекс исходного элемента.

Каждый индекс а можно представить в виде последовательности й битов (аь ыая з,...,ао), где а = 2„," аз а;2'. Определим операцию гечь ((аь и аь з,..., ао)) = (ао, ап ...,аь 1), т.е. гечь(а) = ~~> аь; 12'. ~=о Например, если и = 16 (или, что эквивалентно, й = 4), то гечь (3) = = 12, поскольку 4-битовое двоичное представление числа 3 выглядит как 0011, и в результате преобразования юторого получим 1!00, те.

4- битовое двоичное представление числа 12. а) Пусть имеется функция гечы выполняющаяся в течение времени 6 (и). Разработайте алгоритм обратной перестановки битов в массиве длиной и = 2", время работы юторого равно О (и!с). Чтобы улучшить время перестановки битов, можно воспользоваться алгоритмом, основанным на амортизационном анализе. Мы поддерживаем счетчик с обратным порядком битов и процедуру В!т Внчнкзеп 1мскемемт, которая для заданного показания счетчика а возвращает значение течь (гечь (а) + 1).

Например, если й = 4 и счетчик начинает отсчет от О, то в результате последовательных вызовов процедуры В!т Кнчнию 1!чскнмичт получим последовательность 0000,1000,0100,1100,0010,1010, . = 0,8,4,12,2,10, б) Предположим, что слова в компьютере хранятся в виде й-битовых значений и что в течение единичного промежугка времени компьютер может произвести над этими бинарными значениями такие операции, как сдвиг влево или вправо на произвольное число позиций, побитовое и, побитовое или и т.п. Опишите реализацию процедуры Часть |Ч. Усовершенствованные методы разработки и анализа 506 Вгг Кнчнкзнп 1нскнмннт, позволяющую выполнять обращение порядка битов и-элементного массива в течение времени О (и).

в) Предположим, что в течение единичного промежутка времени сдвиг слова вправо или влево можно произвести только на один бит. Сохраняется ли при этом возможность реализовать обращение порядка битов в массиве за время О (и)? 17-2. Динамический бинарный поиск Бинарный поиск в отсортированном массиве осуществляется в течение промежутка времени, описываемого логарифмической функцией, однако время вставки нового элемента линейно зависит от размера массива.

Время вставки можно улучшить, используя несколько отсортированных массивов. Предположим, что операции Янлксн и 1нзнкт должны поддерживаться для и-элементного множества. Пусть й = [1я(п+ 1)] и пусть бинарное преставление числа и имеет вид (пя м па я,...,по). У нас имеется й таких отсортированных массивов Ао, А~,..., Аь м что для всех 1 = = О, 1,..., а — 1 длина массива А; равна 2'. Каждый массив либо заполнен, либо пуст, в зависимости от того, равно ли тн = 1 или п; = О соответственно.

Таким образом, полное количество элементов, хранящихся во всех 7я массивах, равно 2 „„п;2' = и. Хотя каждый массив отсортирован, между элементами различных массивов нег никаких отношений. а) Опишите, как в этой структуре данных реализовать операцию Янлксн. Проанализируйте время ее работы в наихудшем случае. б) Опишите, как в эту структуру данных вставлять новый элемент. Проанализируйте время выполнения этой операции в наихудшем случае и ее амортизированное время работы.

в) Обсудите реализацию процедуры РБ.етн. 17-3. Амортизироваиные сбалансированные по весу деревья Рассмотрим обычное бинарное дерево поиска, расширенное за счет добавления к каждому узлу х поля вяае [х], содержащего количество ключей, которые хранятся в поддереве с корнем в узле х. Пусть а — константа из диапазона 1/2 < а < 1. Назовем данный узел х асбалансироваиамм (а-Ьа!апосля), если яяе [1е71 [х]] < а . я(яе [х] и въяве [ттдМ [хЦ < а я(яе [х] . Дерево в целом является а-сбалансированным (ст-Ьа1апсед), если о-сбалансирован каждый его узел. Описанный ниже амортизированный подход к сбалансированным деревьям был предложен Варгисом (О. ЧагяЬеяе).

Глава 17. Амортизационный анализ 507 а) В определенном смысле 1/2-сбалансированное дерево является наиболее сбалансированным. Пусть в произвольном бинарном дереве поиска задан узел х. Покажите, как перестроить поддерево с корнем в узле х таким образом, чтобы оно стало 1/2-сбалансированным. Время работы алгоритма должно быть равным 9 (ззке [х]), а обьем используемой вспомогательной памяти — О (зкае [х]). б) Покажите, что поиск в бинарном а-сбалансированном дереве поиска с п узлами в наихудшем случае выполняется в течение времени О (1кп).

При выполнении оставшейся части этой задачи предполагается, что константа а строго больше 1/2. Предположим, что операции 1нзект и Рееете реализованы так же, как и в обычном бинарном дереве поиска с п узламн, за исключением того, что после каждой такой операции„если хоть один узел дерева не является а-сбалансированным, то поддерево с самым высоким несбалансированным узлом "перестраивается" так, чтобы оно стало 1/2-сбалансированным. Проанализируем эту схему с помощью метода потенциалов. Для узла х, принадлежащего бинарному дереву поиска Т, определим величину Ь (х) = [а1зе [1е/Г [х]] — зие [пдй8 [х]] [, а потенциал дерева Т определим как Ф(Т) =с ) Ьх, хет:п(х)>2 где с — достаточно большая константа, зависящая от а. в) Покажите, что потенциал любого бинарного дерева поиска всегда неотрицателен и что потенциал 1/2-сбалансированного дерева равен О.

г) Предположим, что гп единиц потенциала достаточно для оплаты перестройки поддерева, содержащего т узлов. Насколько большой должна быль константа с для данного а, чтобы амортизированное время перестройки полдерева, не являющегося о-сбалансированным, было равным 0 (1)? д) Покажите, что амортизированное время вставки узла в а-сбалансированное дерево с и узлами, как и удаления узла из зтого дерева„ равно О (1я и).

508 Часть !Ч. Усовершенствованные методы разработки н анализа 17-4. Стоимость перестройки красно-черных деревьев Имеется четыре основных операции над красно-черными деревьями, которые выполняют согрукшурные модификации (зцпспца! шоййса6опз): вставка узла, удаление узла, поворот и изменение цвета.

Мы убедимся, что для поддержки свойств красно-черных деревьев в процедурах КВ 1нзект и КВ Редеете достаточно использовать О (1) операций поворота, вставки узлов и удаления узлов, но в них потребуется намного больше операций изменения цвета. а) Опишите корректное красно-черное дерево с и узлами, в котором вызов процедуры КВ 1нзект для вставки (и+ 1)-го узла приводит к П(!8п) изменениям цвета. Затем опишите корректное красно- черное дерево с и узлами, в котором вызов процедуры КВ 13еьете для удаления определенного узла приводит к Й (!8п) изменениям цвета.

Несмотря на то, что в наихудшем случае количество модификаций цветов, приходящихся на одну операцию, может определяться логарифмической функцией, мы докажем, что произвольная последовательность гл операций КВ 1нзект и КВ 1)е!.ете, выполняемых над изначально пустым красно-черном деревом, в наихудшем случае приводит к 0(т) структурным модификациям. б) Некоторые из случаев„обрабатываемых в основном цикле кода процедур КВ 1хзект Р!хаев и КВ 0н.ете Рий3Р, являются завершающими (гепшпайп8): однажды случившись, они вызовут завершение цикла после выполнения фиксированного количества дополнительных операций.

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

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

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