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

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

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

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

Будем считать, что дисковые операции со страницей размером т слов требуют одного обращения к диску и процессорное время О (пь). а) Чему в наихудшем случае равно асимптотическое количество обращений к диску при такой простейшей реализации стека? Чему равно требуемое процессорное время для п стековых операций? (Ваш ответ на этот и последующие вопросы данной задачи должен выражаться через пь и и.) Теперь рассмотрим реализацию стека, при которой одна страница стека находится в оперативной памяти (кроме того, небольшое количеспю оперативной памяти используется для отслеживания того, какая имен.

но страница находится в оперативной памяти в настоящее время). Само собой разумеется, что мы можем выполнять стековые операции толью в том случае, если соответствующая дисковая страница находится в опе. ративной памяти. При необходимости страница, находящаяся в данный момент в оперативной памяти, может быть записана на диск, а в память считана новая дисковая страница. Если нужная нам страница уже находится в оперативной памяти, то выполнение дисковых операций ле требуется. б) Чему в наихудшем случае равно количество необходимых обращений к диску для и операций Ризи? Чему равно соответствующее процессорное время? в) Чему в наихудшем случае равно количество необходимых обраще.

ний к диску для и стековых операций? Чему равно соответствующее процессорное время? Предположим, что стек реализован таким образом, что в оперативной памяти постоянно находятся две страницы (в дополнение к небольшому количеству оперативной памяти, которое используется для отслеживания Глава 18. В-деревья 535 того, какие именно страницы находятся в оперативной памяти в настоя- щее время).

г) Как следует управлять страницами стека, чтобы амортизированное количество обращений к диску для любой стековой операции составляло О (1/гп), а амортизированное процессорное время— О (1)? 18-2. Объединение и разделение 2-3-4-деревьев Операция объединения (]о(п) получает два динамических массива У и У' и элемент х, такой что Ьеу[х'] < Ьеу[х] < Ьеу[х"] для любых х' Е У и х" Е У', и возвращает множество Я = У и (х) О У'. Операция разделения (зррй) представляет собой обращение операции объединения: для данного динамического множества Я и элемента х е Я она создает множество Я', содержащее все элементы из Я вЂ” (х), ключи которых меньше Йеу [х], и множество У', содержащее все элементы из Я вЂ” (х), ключи которых больше Ьеу [х].

В данной задаче мы рассматриваем реализацию этих операций над 2-3-4-деревьями. Для удобства полагаем, что элементы представляют собой ключи и что все ключи различны. а) Покажите, каким образом поддерживать хранение в каждом узле дерева информации о высоте поддерева, корнем которого является данный узел, чтобы это не повлияло на асимптотическое время выполнения операций поиска„вставки и удаления. б) Покажите, как реализовать операцию объединения.

Для данных 2- 3-4-деревьев Т' и Т" и ключа Й объединение должно выполняться за время О (1+ [Ь' — Ь" [), где Ь' и Ь" — значения высоты деревьев Т' и Т" соответственно. в) Рассмотрим пуп р от корня 2-3-4-дерева Т к данному ключу lс, множество У ключей Т, которые меньше Ь, и множество У' ключей Т, которые больше /с. Покажите, что р разбивает У на множество деревьев (То, Т,',..., Т,'„) и множество ключей Щ, Ь'„..., к,'„), причем для всех у Е Т,' и з Е Т,' выполняется у < Й,' < з (( = 1, 2,..., т).

Как связаны высоты Т и Т,'? На какие множества деревьев и ключей р разбивает У'? г) Покажите, как реализовать операцию разделения 2-3-4-дерева Т. Воспользуйтесь операцией объединения для того, чтобы собрать ключи из У в единое 2-3-4-дерево Т', а ключи из У' в единое 2-3-4- дерево Т". Время работы операции разделения должно составлять О (18 и), где п — количество ключей в Т. (Указание: при сложении стоимости операций объединения происходит сокращение членов (телескопической) суммы.) 536 Часть Ч.

Сложные структуры данных Заключительные замечания Сбалансированные деревья и В-деревья достаточно подробно рассмотрены в книгах Кнута (КпитЬ) 1185], Ахо (АЬо), Хопкрофта (Норсгой), Ульмана (1Л!тап) 15] и Седжвика (Яебйеичск) 1269]. Подробный обзор В-деревьев дан Комером (Сошег) 166]. Гибас (СтшЬаз) и Седжвик 1135] рассмотрели взаимосвязи между различными видами сбалансированных деревьев, включая красно-черные деревьв и 2-3-4-деревья. В 1970 году Хопкрофт предложил ввести понятие 2-3-деревьев, которые была предшественниками В-деревьев и 2-3-4-деревьев и в которых каждый внутренний узел имел 2 или 3 дочерних узла.

В-деревья предложены Баером (Вауег) и МакКрейтом (МсСге18Ьт) в 1972 году 132] (выбор названия для своей разработки оня не пояснили). Бендер (Вепг1ег), Демейн (13егпа1пе) н Фарах-Колтон (РагасЬ-Со!юп) 137] изучили производительность В-деревьев при наличии иерархической памяти. Алгоритмы с игнорированием кзширования эффективно работают без явного знания о размерах обмена данными между различными видами памяти. ГЛАВА 19 Биномиальные пирамиды В данной главе и главе 20 представлены структуры данных, известные под названием сливаемых пирамид (гпегаеаЫе пеарз), которые подцерживают следующие пять операций.

МАКЕ НЕАР() создает и возвращает новую пустую пирамиду. 1изеит(Н, х) вставляет узел х (с заполненным полем йеу) в пирамиду Н. М~ммим(Н) возвращает указатель на узел в пирамиде Н, обладающий минимальным ключом. ЕхткАст Мпч(Н) удаляет из пирамиды Н узел, ключ которого минимален, возвращая при этом указатель на этот узел. Ш~10х(НН Нз) создает (и возвращает) новую пирамиду, которая содержит все узлы пирамид Н1 и Нз.

Исходные пирамиды при выполнении этой операции уничтожаются. Кроме того, структуры данных, описанные в этих главах, подцерживают следую- щие две операции. Весиелзе Кеу(Н, х, 1с) присваивает узлу х в пирамиде Н новое значение ключа Й (предполагается, что новое значение ключа не превосходит текущего)'. азам.ете(Н, х) удаляет узел х из пирамиды Н. 'Как упоминалось во введении к пятой части книги, по умолчанию сливаемые пирамиды являются неубывающими сливаемыми пирамидами, так что к ним применимы операции М~ямпм, Ехтклст Мьч и 0пскааза Кау.

Мы можем также определить невозрастающие сливаемые пирамиды с операциямн Млх~мпм, Ехтклст Мах и 1нскалза К ау. Часть Ч. Сложные структуры данныз 538 Как видно из табл. 19.1, если нам не нужна операция ()н!он, вполне хорошо работают обычные бинарные пирамиды, использовавшиеся в пирамидальной сортировке (глава 6).

Все остальные операции выполняются в бинарной пирамилс в худшем случае за время 0 (18 и). Однако при необходимости поддержки опера. цни ()н!он привлекательность бинарных пирамид резко уменьшается, посюльку реализация операции (Лч)он путем объединения двух массивов, в которых хранят. ся бинарные пирамиды, с последующим выполнением процедуры М!н НеАе!Рт, как показано в упражнении 6.2-2, требует в худшем случае времени 6 (п).

Таблица 19.1. Время выполнения операций у разных реализаций слнваемых пирамид Процедура Бинарная пирамида (нанхулшнй случай) Пирамида Фнбоначчи (амортнзнрованнас время) Бнномнальная пирамида (наихудший случай) 6(1) 6(1) 6(1) 0(18 и) 6(1) 6(1) 0(1я и) 6(1) 6(1я и) 6(1) 6(1я ц) 6(п) 6(18 п) 6(18 ц) 6(1) 0()в ц) 0()б и) 6(1я и) ()(!я и) 6(18 и) 6(18 ц) МАКЕ НЕАР !н5ект Млч!мам Ехтклст Мп~ ()н!он РескеА5е Кеу РЕЬЕТЕ В данной главе мы познакомимся с биномиальными пирамидами, время выполнения операций в наихудшем случае для которых также показаны в табл. 19.1. В частности, операция (Ъ)он требует только О (!8п) времени для объединения двух биномиальных пирамид с общим количеством и элементов.

В главе 20 мы познакомимся с пирамидами Фибоначчи, у юторых для выполнения ряда операций нужно еще меньше времени (однаю в табл. 19.1 показано амортизированное время выполнения операций, а не время выполнения операции в наихудшем случае). В этой главе мы не рассматриваем вопросы выделения памяти для узлов перед вставкой и освобождения памяти после их удаления, полагая, что за это отвечает код, вызывающий процедуры для работы с пирамидами. Все три указанных вида пирамид не могут обеспечить эффективную реализацию поиска элемента с заданным ключом (операция Зелнсн), поэтому такие операции, как Рескелзе Кеу и 1)еьете в качестве параметра получают указатель на узел, а не значение его ключа. Как говорилось при рассмотрении очередей с приоритетами в разделе 6.5, когда мы используем сливаемые пирамиды в приложении, мы часто храним в каждом элементе пирамиды дескриптор соответствующего объекта приложения, так же как и каждый объект приложения Глава 19.

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

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

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