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

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

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

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

(См. упр. 17.3.1, в котором идет речь о том, как быть в ситуации, когда Ф(Ро) ф О.) Интуитивно понятно, что если разность потенциалов Ф(Р,) — Ф(Р; 1) для з-й операции положительна, то амортизированная стоимость с; представляет переоценку з-й операции и потенциал структуры данных возрастает. Если разность потенциалов отрицательна, то амортизированная стоимость представляет недооценку 1-й операции и фактическая стоимость операции выплачивается за счет уменьшения потенциала. Амортизированные стоимости, определенные уравнениями (17.2) и (17.3), зависят от выбора функции потенциала Ф.

Амортизированные стоимости, соответствующие разным функциям потенциала, могут различаться, при этом все равно оставаясь верхними границами фактических стоимостей. При выборе функций потенциалов часто допустимы компромиссы; то, какую функцию лучше всего использовать, зависит от оценки времени, которую нужно получить. Глава ! 7. Амортизационный анализ 497 потенциал; следовательно, Ф(Р,) > О = Ф(Ро) .

Таким образом, полная амортизированная стоимость п операций, связанная с функцией Ф, представляет собой верхнюю границу фактической стоимости. Теперь вычислим амортизированные стоимости различных стековых операций. Если г-я операция над стеком, содержащим а объектов, — операция РОзн, то разность потенциалов равна Ф(Р,) — Ф(Р; 1) = (а + 1) — а =1. Согласно уравнению (17.2) амортизированная стоимость операции РОзн равна с, = с; + Ф(Р;) — Ф(Р; 1) =1+1 Предположим, что зья операция над стеком — операция Мш.т1рор(5, 1с), и что из него извлекается lс' = ш(п(19, э) объектов.

Фактическая стоимость этой операции равна Йз, а разность потенциалов— Ф(Р;) — Ф(Р; 1) = — lс'. Таким образом, амортизированная стоимость операции М17ьт1рор равна сг + Ф(Рг) Ф(Рг-1) = й' — й' Аналогично можно показать, что амортизированная стоимость операции Рог также равна О. Амортизированная стоимость каждой из трех операций равна 0(1), поэтому полная аморгизированная стоимость последовательности из п операций равна 0(п). Мы уже доказали, что Ф(Р;) > Ф(Ро), поэтому полная амортизированная стоимость п операций является верхней границей полной фактической стоимости. Поэтому в наихудшем случае стоимость и операций равна 0(п). Увеличение показаний бинарного счетчика В качестве другого примера применения метода потенциалов снова обратимся к задаче о приращении показаний бинарного счетчика.

На этот раз определим потенциал счетчика после выполнения гтй операции 1хскемехт как количество (зг содержащихся в счетчике единиц после этой операции. Часть 1К зсовершенствованные методы разработки и анализа 498 Вычислим амортнзированную стоимость операции 114сквмвмт. Предположим, что з-я операция 1нсквмемт обнуляет Ц бит. В таком случае фактическая стоимость этой операции не превышает значения 11+ 1, поскольку вдобавок к обнулению 11 бит значение 1 присваивается не более чем одному биту.

Если 6; = О, то в ходе выполнения 1-й операции обнуляются все /с бит, так что 6, 1 = 1з = /с. Если 61 ) О, то выполняется соотношение 6, = 6, 1 — 11 + 1. В любом случае справедливо неравенство 61 < 6, 1 — 1, + 1 и разность потенциалов равна Ф(Р;) — Ф(Р1 1) < (Ьв 1 — Ц+ 1) — Ь; 1 =1 11 Таким образом, амортизированная стоимость определяется соотношением с„= с, + Ф(Р1) — Ф(Р; 1) < (11 + 1) + (1 — 11) =2. Ф(Р ) + Ф(Р1) 1=1 с=1 (17.4) При всех 1 < з < п выполняется неравенство с, < 2.

В силу соотношений Ф(Ро) = 6о н Ф(Р„) = 6„полная фактическая стоимость п операций 1мсквмвмт равна с;(~~ 2 — 6„+Ьр =2п — Ь +Ьо. В частности, заметим, что, поскольку Ьо < 6, при 1с = 0(п) полная фактическая стоимость равна 0(п). Другими словами, если выполняется не менее и = П(й) операций 11чсккыв1чт, полная фактическая стоимость независимо от начальнопз показания счетчика равна 0(п).

Если вначале показания счетчика равны нулю, то Ф(Ро) = О. Поскольку при всех 1 справедливо неравенство Ф(Р;) ) О, полная амортизированная стоимость последовательности из п операций 1мсклмвмт является верхней границей полной фактической стоимости, поэтому в наихудшем случае стоимость п операций 1мсквмвмт равна 0(п). Метод потенциалов предоставляет простой способ анализа счетчика даже в том случае, когда отсчет начинается не с нуля. Пусть изначально показание счетчика содержит Ьо единиц, а после выполнения и операций 1мсккмн1чт — 6„ единиц, где О < Ьо, Ь„< )с.

(Напомним, что lс — количество битов в счетчике.) Тогда уравнение (17.3) можно переписать следующим образом: Глава 77. Амортизационный анализ 499 Упражнения 17.3.1 Предположим, задана такая функция потенциала Ф, что при всех з выполняется неравенство Ф(Рз) > Ф(Рс), но Ф(Рс) зй О. Покажите, что существует функция потенциала Ф', такая, что Ф'(Рс) = О и Ф'(Р;) > О для всех з > 1, и соответствующая функции Ф' амортизированная стоимость такая же, как и для функции Ф. 17.3.1 Еще раз выполните упр. 17.1.3, используя метод потенциалов. 17.3.3 Рассмотрим обычную и-элементную бинарную неубывающую пирамиду.

Пусть в этой структуре данных поддерживаются операции 1ызект и ЕхткАст-Мпч, для выполнения которых в наихудшем случае требуется время 0(1яп). Определите функцию потенциала Ф, такую, что амортизированная стоимость операции 1изккт равна 0(1к и), а амортизированная стоимость операции ЕхткАст-Мпч— 0(1), и покажите, что она работает. 17.3.4 Чему равна полная стоимость выполнения и стековых операций РОзн, РОЕ и М~л.ти'ор, если предположить, что в начале стек содержит ас объектов, а в конце — вн объектов? 17.3.5 Предположим, что изначально показание счетчика не равно нулю, а определяется числом, содержащим в двоичном представлении 6 единиц. Покажите, что стоимость выполнения и операций 1мскемемт равна 0(п) при условии, что и = й(Ь).

(Не следует предполагать, что Ь вЂ” константа.) 173.б Покажите, как реализовать очередь на основе двух обычных стеков (см. упр. 10.1.б) таким образом, чтобы амортизированная стоимость каждой из операций ЕМООЕОЕ и РЕООЕОЕ была равна 0(1). 17.3. 7 Разработайте структуру данных для поддержки следующих двух операций над динамическим мультимножеством целых чисел Я, в котором могут содержаться одинаювые значения: 1изект(Я,х), вставляющая х в 5.

Пекете-1,Акбек-НАее (Я), удаляющая наибольшие (~Я~ /21 элементов из Я. Поясните, как реализовать зту структуру данных, чтобы любая последовательность из гп указанных операций выполнялась за время 0(пт). Ваша реализация должна также включать способ вывода элементов Я за время 0(~5(). 500 Части ГЕ Усовершенствованные методы разработки и аназиза 17.4.

Динамические таблицы В некоторых приложениях заранее не известно, сколько элементов будет храниться в таблице. Может возникнуть ситуация, когда для таблицы выделяется место, а впоследствии оказывается, что его недостаточно. В этом случае приходится выделять больший объем памяти и копировать все объекты из исходной таблицы в новую, большего размера.

Аналогично, если из таблицы удаляется много объектов, может понадобиться преобразовать ее в таблицу меньшего размера. В этом разделе исследуется задача о динамическом расширении и сжатии таблицы. Методом амортизационного анализа будет показано, что амортизированная стоимость вставки и удаления равна всего лишь 0(1), даже если фактическая стоимость операции больше из-за того, что она приводит к расширению или сжатию таблицы. Более того,мы выясним, как обеспечить соблюдение условия, при котором неиспользованное пространство динамической таблицы не превышает фиксированную долю ее полного пространства. Предполагается, что в динамической таблице поддерживаются операции ТАВее-1мзект и ТАнее-1)ееете.

В результате выполнения операции ТАнее1мзект в таблицу добавляется элемент, занимающий одну ячейку (з!о1), — пространство для одного элемента. Аналогично операцию ТАвее-Пн.ете можно представлять как удаление элемента из таблицы, в результате чего одна ячейка освобождается. Подробности метода, с помошью которого организуется таблица, не важны; можно воспользоваться стеком (раздел 1О.1), пирамидой (глава 6) или хеш-таблицей (глава ! 1). Для реализации хранилиша объектов можно также использовать массив или набор массивов, как это было сделано в разделе 10.3.

Оказывается, достаточно удобно применить концепцию, введенную при выполнении анализа хеширования (глава 11). Определим коэффициент заполнения (1оаб Гасгог) о(Т) непустой таблицы Т как количество хранящихся в них элементов, деленное на ее размер (измеряемый в количестве ячеек). Размер пустой таблицы (в которой нет ни одного элемента) примем равным нулю, а ее коэффициент заполнения — единице.

Если коэффициент заполнения динамической таблицы ограничен снизу константой, ее неиспользованное пространство никогда не превышает фиксированной части ее полного размера. Начнем анализ с динамической таблицы, в которую выполняются только вставки. Впоследствии будет рассмотрен более общий случай, когда разрешены и вставки, и удаления. 17.4.1. Расширение таблицы Предположим, что место для хранения таблицы выделяется в виде массива ячеек. Таблица становится заполненной, когда заполняются все ее ячейки или (что 50! Глава ! 7.

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

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

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