AOP_Tom3 (1021738), страница 131

Файл №1021738 AOP_Tom3 (Полезная книжка в трёх томах) 131 страницаAOP_Tom3 (1021738) страница 1312017-07-10СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

упр. 25). Однако при вставке могут оказаться необходимыми несколько ребалансировок дерева. При ослаблении условия (17) количество нужных ребалансировок уменьшается (правда, за счет увеличения времени поиска). На первый взгляд может показаться, что для взвешенно-сбалансированных деревьев необходимо больше памяти, однако иногда ее нужно даже меныпе, чем для обычных сбалансированных деревьев! Если в каждом узле уже имеется поле КАИК для представления линейного списка, то это и есть вес левого поддерева, а соответствующие правые веса могут быть определены при движении вниз по дереву.

Альтернативы Ач'Ь-деревьям. Помимо использования АЪ'Ь-деревьев, было предложено несколько других подходов к организации деревьев, гарантирующих логарифмическое время доступа. Например, К. К. Фостер (С. С. Гоэ1ег) (САСМ 16 (1973). 513 — 517) рассмотрел бинарные деревья, которые получаются, если ограничить разность высот поддеревьев некоторой величиной к. Такие структуры называются НВ(/с) (что означает "Ье!ЕЬ1-Ьа!апсед" — "сбалансированные по высоте").

В этих терминах рассмотренные сбалансированные деревья представляют собой частный случай НВ(1). Интересная концепция взвешемно-сбалансированных деревьев (юе!дЫ-5а!апсед 1геез) бььта изучена Ю. Нивергельтом (1. %еиегйе!1), Э. Рейнгольдом (Е. Ве!пбо!б) и сЬ К. Вонгом (С. К. 1топЕ). Они не рассматривали высоту деревьев, а поставили условие, которому должны удовлетворять поддеревья всех узлов: Однако требуемые для сохранения взвешенной сбалансированности накладные расходы отнимают больше времени, чем алгоритм А, и сохранение двух битов на узле не представляется достаточной компенсацией перерасхода времени. Почему вы не сдвоите их в тройки? (иФу ооп'г уои Ратх 'етп ио т гптеев?) — пРиписывается ед?ки ВеРРА (уОБ! ВеяяА) С9?0) Еще один интересный подход к АЪ'1.-деревьям, называемый "2-3-деревья", был предложен Джоном Хопкрофтом (,1ойп Норсго11) в 1970 году !см.

АЬо, Норсгой., Н))шап, ТЛе 1)ев)йп апд Апа!уз!в о1 Соп1ригег А)боП1Лтв (Яеадтб, Мазал Аоп)зон%ее)еу, 1974), СЬаргег 4]. Идея этого подхода заключается в том, что из каждого узла могут выходить либо две, либо три ветви; при этом требуется, чтобы все внешние узлы находились на одном уровне. Каждый внутренний узел содержит либо один, либо два ключа, как показано на рис. 26. Рис. 26.

2-3-дерево, Вставку в 2-3-дерево пояснить несколько проще по сравнению со вставкой в АЪ'1;дерево: чтобы поместить новый ключ в узел, в котором содержится ровно один ключ, необходимо просто вставить его как второй ключ. С другой стороны, если в узле уже содержатся два ключа, делим их на два "одноключевых" узла и вставляем средний ключ в родительский узел. Это, в свою очередь, может привести к делению родительского узла. На рис. 27 показан описанный процесс вставки ключа в 2-3- дерево, изображенное на рис. 26. Рис. 27.

Вставка нового ключа И в 2-3-дерево, приведенное на рис. 26. Дж. Э. Хопкрофт !Д. Е. Норсгой) обнаружил, что удаление, конкатенация и разделение с 2-3-деревьями проводятся достаточно просто и очень похожи на аналогичные операции с А1'Ь-деревьями. Р. Байер (Н. Вауег) [Ргос. АСМ-ЯСГ1ОЕТ ХогкэЛор (1971), 219-235) предложил интересное представление 2-3-деревьев в виде бинарных деревьев.

Взгляните на рис. 28, на котором показано такое представление дерева, изображенного на рис. 26. Один бнт каждого узла используется для того, чтобы отличать "горизонтальные" правые ссылки 81.168 от "вертикальных'! Заметьте, что ключи в таком дереве расположены, как и в бинарном дереве поиска, в симметричном порядке слева направо. Оказывается, что при вставке нового ключа в деревья такого типа необходимо выполнить те же преобразования. что и прн вставке в бинарное дерево, а именно -- однократные и двукратные повороты (хотя в этом случае требуется только одна версия каждого поворота без отражений относительно вертикальной оси, необходимых для алгоритмов А и С).

Рис. 28. 2-3-дерево (см рис. 26), представленное в виде бинарного дерева поиска. Развитие этих идей привело к появлению различных вариантов сбалансированных деревьев, среди которых особенно известны красно-черные деревья (геН-5!асй !геев), именуемые также симметричными бинарными В-деревьями или полусбалансированными деревьями [Н. Вауег, Асса 1пЕогтапса 1 (1972), 290-306; Ь. СшЬаэ апс! Н. Бебйекчс)с, РОСЯ 19 (1978), 8-21; Н. 3. О!!г!е, НАЖО ЕпХогшабцие ТЛйопцие 16 (1982), 51 — 71; Н. Е, Таг1ап, 1пб Ргос. Легсесч 16 (1983), 253 — 257; Т. Н. Согшеп, С. Е. ?е!эегвоп апг! Н. 1.

Н!геэ1, 1пггобисг!оп го А!8оПгЛтэ (М1Т Ргеэв, 1989), СЬар!ег 14; Н. Бебйевчс)г, А!8огНЛпи !и С (АсЫ!зоп-%еэ!еу, 1997), 313.4). Существует, кроме того, связанное семейство деревьев, называемых истерическими В-деревьями (Ьуэ!ег!са! В-!геев) или (а,Ь)-деревьями, в частности (2,4)-деревья [1). Ма!ег апс! Б. С. Ба(ге!ег, Хпб Ргос.

Ъесгегэ 12 (1981), 199-202; Б. НпсЫ!езгоп апд К. МеЫЬогп, Ас!а 7лГогтаИса 17 (1982), 157-184[. Когда одни ключи встречаются чаще других, логично разместить более "частые" ключи ближе к корню дерева, как в случае использования оптимальных бинарных деревьев, о которых шла речь в разделе 6.2.2. Динамические деревья, которые делают возможным поддержание взвешенной сбалансированности в заданных пределах около оптимальной, называемые "смещеннмми" деревьями (Ьгаэсв аггея), были разработаны С.

В. Вентом (8. %. Веп!), Д. Д. Слитором (В. В. 8!еагог) и Р. Е. Таржаном (Н. Е. Таг1ап) [ЯСОМР 14 (1985), 545-568: д. Ге!8епЬашп апб Н. Е. Тат)ап, Ве!! Яуэсеш ТесЛ. Х 62 (1983), 3139-3158). К сожалению, соответствующие алгоритмы слишком сложны. Существенно проще самокорректирующиеся структуры данных, называемые вмшлиутььми деревьями (эр!ау !гее), которые были разработаны Д, Д. Слитором и Р.

Е. Таржаном [ХАСМ 32 (1985), 652-686]. Они основаны на идеях, подобных используемым при эвристических перемещениях и перестановках (см. раздел 6.1). Данная технология была исследована Б. Алленом (В. А!!еп) и Дж. Мунро (Я. Манго) [,УАСМ 25 (1978), 526-535[, а также Дж. Битнером (3. В!!пег) ~Б1СОМР 8 (1979), 82-110].

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

Слитор и Таржан предположили, что общее время доступа в вытянутом дереве не превышает оптимального времени доступа к данным и времени, необходимого для выполнения динамических поворотов согласно любому алгоритму работы с бинарными деревьями, умноженного на константу. Рандомнзация позволяет использовать методы, даже более быстрые н простые, чем вытянутые деревья.

Жан Вуйлемен (Леан Ушйеппп) (САСМ 23 (1980), 229-239) ввел понятие декартовых деревьев (саггеебап 1геея), в которых каждый узел имеет два ключа (х,у). Часть х упорядочена слева направо, как в бинарных деревьях поиска; часть у упорядочена сверху вниз, как в случае приоритетной очереди (см. раздел 5.2.3). С.

Р. Арагон (С. В. Ага8оп) и Р. Г. Зайдель (В. О. БеЫе)) присвоили таким структурам данных очень цветастое название егеар, которое получено в результате комбинирования частей слов 1геез и пеарэ. (Видимо, наилучший русский термин должен звучать как дуча — от дерева и кучи. — Прим. перев.) Только одна дуча может быть построена на основе п данных пар ключей (хы уг), ..., (х„, у„), егли все х и у различны. Один из путей получения дучи — вставка х согласно алгоритму 6.2.2Т в соответствии с порядком у. Однако имеется еще один простой алгоритм для непосредственной вставки любых новых пар в дучу.

Арагон и Зайдель обнаружили (РОС8 30 (1989), 540 — 546), что, если х представляют собой обычные ключи, а у выбираются случайным образом, можно быть уверенным, что дуча имеет вид случайного бинарного дерева поиска. В частности, дуча со случайными значениями у всегда будет сбалансирована, за исключением случая зкспоненциально малой вероятности (см. упр.

5.2.2 — 42). Арагон и Зайдель также показали, что дучи могут быть легко "скошены", так что, например, ключ х с относительной частотой 1 будет располагаться вблизи корня в соответствии со своей частотой, если с ним будет ассоциирована величина у = С'11, где ь7 — случайное число между 0 и 1. Дучи, в целом, предпочтительнее вытянутых деревьев, как показали некоторые проведенные Д. Э.

Кнутом эксперименты, связанные с расчетами выпуклых оболочек (3АСМ 45 (1998), 288-323]. В следующее издание книги планируется добавить раздел 6.2.5, посвященный Ф рандомлзированяым структурам данных. В нем будут рассмотрены спнскн с пропусками (И'. Рнбй, САСМ 33 (1990), 668-6761, рандомвзнрованные бинарные деревья поиска (В. Волга апд С.

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

Тип файла
DJVU-файл
Размер
10,16 Mb
Тип материала
Высшее учебное заведение

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

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