Главная » Просмотр файлов » Д. Кнут - Искусство программирования том 3 (2-е издание) - 2001 (Часть 2)

Д. Кнут - Искусство программирования том 3 (2-е издание) - 2001 (Часть 2) (1119371), страница 19

Файл №1119371 Д. Кнут - Искусство программирования том 3 (2-е издание) - 2001 (Часть 2) (Д. Кнут - Искусство программирования том 3 (2-е издание) - 2001 (Часть 2)) 19 страницаД. Кнут - Искусство программирования том 3 (2-е издание) - 2001 (Часть 2) (1119371) страница 192019-05-09СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Пусть Ь| 52... ܄— перестановка множества (1, 2,..., и). Мы определим (н+1)э удалений, по одному для каждой пары т',,у (1 < 1,.у < и + 1). Удаление для 1 < т' таково: Ь',... Ь*, ДЬ; Ьып ... Ь,', (Ь;+1) Ь„' ... Ь'„. Р) Здесь и далее Ь~~ означает либо Ью либо Ь| + 1, в зависимости от того, является ли Ьа меньше, чем помеченный элемент. Такое удаление соответствует случаю 2.

Удаление для 1 > ) таково: Ь',... Ь',,СЬ,)Ь',....Ь„'; (8) оно соответствует случаю 1. И наконец, если 1 = 1, мы имеем другой случай 1, а именно Ь~... Ь',, (й+1) Ь,'... Ь'„. В качестве примера примем и = 4 и рассмотрим 25 удалений, приводящих к перестановке 3 1 4 2.

1 = 1 СЗ)3 1 4 2 4Д31 5 2 4 1СЗ)5 2 4 1 5®2 4 1 5 2СЗ) т'= 2 ®4 1 5 2 3(5)1 4 2 4 2О15 3 4 2 5(1)3 4 2 5 3(1) т'=3 ®1 4 5 2 4(1)2 5 3 3 1(5)4 2 3 1 5042 3 1 5 2(4) у =4 031 5 4 2 4О15 2 3 3 1Д45 2 3 1 4Д52 4 1 5 ЗС2) ,у=5 ®1 5 2 4 4(1)5 3 2 3 1С4)2 э 4 1 5С2)З 3 1 4 2О5 Помеченный элемент всегда находится в 1-й позиции; для фиксированного 1 мы строили и + 1 различных удалений, по одному для каждого 1. Таким образом, для каждой перестановки Ьг Ьт... Ь„построено (и+ 1)т различных удалений. Так как возможны только (а+ 1)~п) удалений, мы должны найти их все. 3 Доказательство теоремы Н не только описывает результат удалений, но также помогает проанализировать среднее время удаления.

В упр. 12 показана, что при удалении случайного элемента из случайной таблицы шаг Р2 будет выполняться меньше чем в половине случаев, Теперь рассмотрим, как часто выполняется цикл на шаге РЗ. Предположим, что мы удаляем узел на уровне( и внешний узел, при симметричном обходе следующий непосредственно за ним, находится на уровне Ь. Например, при удалении узла САРК1СОйй на рис. 10 1 = 0 и я = 3, так квк узел Я находится на уровне 3.

Если й = 1+ 1, то на шаге Р1 Ю.1МК(Т) = Л; если й > 1+ 1, то на шаге РЗ мы выполним присвоение $ +- 551МК(й) ровно Й вЂ” 1 — 2 рвз. Среднее значение 1 равно (длина внутреннего пути)/Ю; среднее значение Ь— (длина внешнего пути — расстояние до крайнего слева внешнего узла)/Х. Расстояние до крайнего слева внешнего узла равно числу лево-правых минимумов вставляемой последовательности, так что среднее значение этой величины согласно анализу в разделе 1.2. 10 составляет Нл.

Поскольку длина внешнего пути превышает длину внутреннего пути на 2Х, среднее значение Ь вЂ” 1 — 2 равно -Нн/Х Добавляя к этому среднему значению число случаев, когда й -1-2 равно — 1, мы получим, что при случайном удалении в среднем операция 8 +- 111ИКЯ) на гпаге РЗ выполняется только (10) раз. Это успокаивает, так как в наихудшем случае, квк показано в упр. 11, удаления выполняются весьма медленно. Хотя теорема Н вполне строга н точна, в указанном виде ее нельзя применить к последовательности удалений, следующих за вставками. После удалений форма дерева остается случайной, однако относительное распределение значений в данной форме дерева может оказаться измененным, и это может привести к тому, что первая же вставка после удаления уипчпюжиш свойство случайности формы.

Этот поразительный факт, впервые обнаруженный Гарри Кноттом (Сагу Кпоы) в 1972 году, вам придется принять на веру (см, упр. 15), Еще более удивительны эмпирические данные, накопленные Дж. Л. Эппингером (1, 7. Ерр)пйег) (САСМ 26 (1983), 663-669, 27 (1984), 235), который обнаружил, что длина пути немного уменьшается при неболыпом количестве удалений и вставок, однако затем начинает увеличиваться до тех пор, пока не достигнет стабильного состояния после выполнения примерно пз операций удаления/вставки.

Это стабильное состояние хуже поведения случайного дерева при Л", большем примерно 150. Дальнейшее исследование 1(ульберсона (Сп!Ъегвоп) н Мунро (Мппго) (Сошр.,). 32 (1989), 68-75; А(Кот(йпшса 3 (1990), 295-311) привело к правдоподобному предположению о том, что среднее время поиска в стабильном состоянии асимптотически равно,/2Л'/9х. Однако Эппингер предложил простую модификацию, при которой алгоритм Р и его зеркальное отражение чередуются в одном алгоритме; он обнаружил, что это приводит к отличному стабильному состоянию, в котором длина пути сяижается до примерно 88% от его обычного значения для случайных деревьев. Теоретического пояснения этого факта пока не найдено. Как упоминалось ранее, алгоритм Р не проверяет случай Ы.1ЫК(1) = Л, хотя это один из простейших случаев удаления.

Мы можем добавить новый шаг Р1-' между шагами Р1 и Р2, Шьз. (Пуста ли ссылка Ы.1КК7) Если 1Д.1КК(7) = Л, установить Ц +- Ы.1ИК(Т) и перейти к шагу Р4. В упр. 14 показано, что алгоритм Р с этим дополнительным шагом всегда оставляет дерево с той же, если не меньшей, длиной пути, что и алгоритм Р; иногда же результат оказывается даже лучше ожидаемого. Прн комбинировании рассмотренного метода со стратегией симметричного удаления Эццингера длина пути при повторяющихся случайных удалениях/вставках уменьшается до примерно 86% от значения„получаемого прн использовании вставок без удалений. Частота обращений. Пока что мы предполагали, что каждый ключ может стать объектом поиска с одинаковой вероятностью.

Однако в более общем случае следует рассмотреть вероятности рь поиска и-го вставленного элемента (рг + ° + рл = 1). Модифицированное выражение (2) (в предположении о случайном порядке дерево остается случайным и выполняется соотношение (5)) показывает, что среднее коли- Рис 12. 31 наиболее употребятельнсе английское слово, вставленное в порядке уменьшения частоты. честно сравнений в случае успешного поиска составляет 1+~ "рь12Н,-2) =-г'~ раН, — 1, Например, если вероятности соответствуют закону Зипфа 16.1-(8)), среднее количество сравнений сводится к Нл — 1+ Ни /Н~д (г) (12) в предположении, что ключи будут вставляться в порядке уменьшения нх важности (см.

упр. 18). Эта величина примерно в два раза меньше величины, предсказываемой в результате анализа случая с равными частотами, н меньше, чем в случае бинарного поиска. На рис. 12 показано дерево, полученное в результате вставки 31 наиболее часто употребляющегося английского слова в порядке убывания частоты появления в текстах. Относительные частоты, приведенные для каждого слова, взяты из Н. Г.

Сешеа, Сгургала)ув1а 1Неи Уогк'. Вотег, 1966), 226, Среднее количество сравнений при успешном поиске в этом дереве равно 4.042; соответствующее значение для бинарного поиска с использованием алгоритма 6.2.1В или 6.2.1С требует 4.393 сравнений. Оптимальные бинарные деревья поиска. Рассмотренный материал заставляет задуматься о том, какое дерево является наилучшим для поиска в таблице ключей с заданными частотами. Например, для случая с 31 наиболее употребительным словом оптимальное дерево показано на рис, 13; оно трсбутт в среднем всего лишь 3.437 сравнений при успешном поиске. Рис. 13. Оптимальное дерево поиска для 31 наиболее употребителыюго английского слова.

Приступим к задаче поиска оптимального дерева. Например, при Ж = 3 в предпсаоженин, что ключи К~ < КЗ < Кз имеют вероятности р, д, г соответственно„ возможны пять деревьев: П1 1Ч Ъ 1 И (13) Сове Зр+Зд+г Зр-ьзд+г 2р+д+2г р+Зд+2г р+2д+Зг На рис. 14 показаны диапазоны значений р, д, г, для которых каждое из деревьев является оптимальным; сбалансированное дерево является наилучшим примерно в 45% случаев при случайном выборе р, д, г (см.

упр. 31). К сожалению, при больших К имеется ('~ )/(К+ 1) 4 'у(,уя ЮЗ~З) бинарных деревьев, так что перебрать их все и найти наилучшие — совершенно неразрешимая задача. Поэтому отбит познакомиться с ними поближе, чтобы, лучше узнав свойства бинарных деревьев, найти среди них оптимальные. До сих пор нас интересовал успешный поиск, однако на практике неудачный поиск не менее важен (более того, в некоторых специфичных задачах именно он является определяющим; случаями успешного поиска в таких задачах можно попросту пренебречь. — 11рим.

перев.). Например, представленные на рис. 13 слова соответствуют примерно 36% слов обычного английского текста; остальные 64%, естественно, повлияют на структуру оптимального дерева поиска. сформулируем задачу следующим образом. Даны 2п + 1 вероятностей рг,рэ, .. „р„и до, дм..., д„, где р; — вероятность того, что аргументом поиска является К;; д, — вероятность того, что аргумент поиска лежит между К~ и К;+1.

Рис. 1а. на этой диаграмме показано, какое из пяти деревьев (13) является наилучшим в случае относительных частот (р о„г) ключей (кп кт, кэ). тот факт, что р+ д+ г = 1, делает диаграмму двумерной несмотря на наличие трех координат, (Пусть яо представляет собой вероятность того, что аргумент поиска меньше, чем Км а о„— вероятность того, что аргумент поиска больше„чем К„.) Таким образом, р1 + рт + ' + ро + ае + В + ° + ая = 1 и мы хотим найти бинарное дерево, минимизирующее ожидаемое количество сравнений при поиске, а именно ~ р; (уровень(Я) + 1) + ~~~ ое уровень((Е), з=г ь=е где Я вЂ” у-й внутренний узел при симметричном обходе, а Б ) — (к+1)-й внешний узел; корень дерева находится на нулевом уровне.

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

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

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