Главная » Просмотр файлов » 1626435697-9d9ede204f9baad60159c2d6531787c7

1626435697-9d9ede204f9baad60159c2d6531787c7 (844297), страница 39

Файл №844297 1626435697-9d9ede204f9baad60159c2d6531787c7 (Хопкрофт, Ульман 1979 - Построение и анализ вычислительных алгоритмов) 39 страница1626435697-9d9ede204f9baad60159c2d6531787c7 (844297) страница 392021-07-16СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Во всех остальных узлах АВЛ-условие выполняется. С) 4.30. Покажите, что АВЛ-дерево высоты )г содержит не более 2А+' — 1 и не менее 5+2 )г5('!+ Р' 5)" 5 — 2 $~5(! — $~ 5) узлов. е4.31. Пусть Т вЂ” дерево двоичного поиска с и узлами, обладающее АВЛ-свойством. Напишите алгоритм сложности 0(1одп) Рис. 9.37. Не АВЛ-дерево. ') В честь его авторов Г. М. Адельсоиа-Вельского и В. М. Лаидиса; см. их работу [!962]. $93 7 А. Ахо, Дж. Ховкрофт, Дж.

Уаьмвв гл. к стгкктугы данных для злдхч с множествами для операций ВСТАВИТЬ и УДАЛИТЬ, которые сохраняют АВЛ- свойство. Можете считать, что высоту каждого узла можно найти в нем самом и что информация о высотах корректируется автоматически. "4.32. Напишите алгоритмы для расцепления АВЛ-дерева и сцепления двух АВЛ-деревьев. Эти алгоритмы должны расходовать время, пропорциональное высотам деревьев. *4.33. Используйте АВЛ-дерево в качестве базиса алгоритма, выполняющего операции М1Х, ОБЪЕДИНИТЬ и УДАЛИТЬ над множествами целых чисел от 1 до а и затрачивающего 0(1ойа) шагов на операцию. Определение. Балансом узла о двоичного дерева называется число (1+Ц/(2+/.+Я), где /.

и /т — числа узлов в левом и правом поддеревьях узла и. Дерево двоичного поиска называется а-сбалансированным, если баланс каждого узла заключен между а и 1 — а. Пример 4.15. Баланс узла, отмеченного знаком и на рис. 4.37, равен ~/н Ни один другой узел не имеет баланса, столь сильно уклоняющегося от '/„так что дерево на рис. 4.37 ~/7-сбалансиро. вано. П "4.34. Укажите верхнюю и нижнюю границы числа узлов в сс-сбалансированном дереве высоты й. **4.35.

Повторите упр. 4.31 — 4.33 для деревьев с балансом а, где сс('/,. *4.36. Сможете ли вы сделать упр. 4.31 — 4.33, если а)'/,? 4.37, Разработайте понятие сбалансированного дерева с данными на листьях, в котором балансировка достигается за счет того, что разность высот поддеревьев поддерживается в пределах фиксированной постоянной. ':4.38.

Напишите алгоритм сложности 0(пб(п)), который по данному дереву с а узлами и списку нз п пар узлов находил бы для каждой пары (и, в) ближайшего общего предка узлов и и ш. "4.39. Длина внешних пуглей двоичного дерева определяется как сумма глубин всех его листьев, длина внутренних путей — как сумма глубин всех его узлов. Каково соотношение между длинами внешних и внутренних путей, если у каждого узла либо два сына, либо ни одного? "4.40. Разработайте структуру данных для реализации очере. дей, которая позволяла бы выполнять в префиксном режиме еле. ЗАМЕЧАНИЯ ПО ЛИТЕРАТУРЕ дующие операции: (а) ВПИСАТЬ (г, А), т. е.

добавить целое число ! к очереди А. Допускаются различные вхождения одного и того же числа. [б) ВЫПИСАТЬ(А), т. е. извлечь из А тот элемент, который находится там дольше всех. (в) СЛИТЬ(А, В, С), т. е. объединить очереди А и В в новую очередь С. Предполагается, что элементы находятся в объединенной очереди так долго, как они находились в соответствующей очереди А или В. Заметьте, что одно и то же число может несколько раз входить в А и В и каждое вхождение следует рассматривать как отдельный элемент.

Сколько времени нужно для выполнения последовательности из и операций? "4.41. Разработайте структуру данных для реализации операций упр. 4.40 в свободном режиме, Сколько времени нужно для выполнения п таких операций в свободном режиме? *4.42. Пусть начальное разбиение и= (В„ ..., Ве) в алгоритме 4.5 обладает тем свойством, что для каждого 1([(д справедливо включение [ '(В!)яВ! при некотором 1. Покажите, что в строке 6 иа рнс. 4.35 выбирается не более одного 1. Уменьшает ли наше допущение время работы алгоритма 4.5? Проблема для исследования 4.43. Со скоростью выполнения последовательности из п операций, выбранных из тех семи, что приведены в равд.

4.1 (или других основных операций того же типа), связано много нерешенных вопросов. Если элементы берутся из произвольного множества и единственный путь получения информации о них — это попарное сравнение, то любое множество основных операций, с помощью которых можно сортировать, потребует время 0 (и [опп). Но если универсум представляет собой множество целых чисел (1,2,..., п) (нлп даже (1, 2,..., пэ) для фиксированного й), то трудно привести соображения за то, что для сортировки потребуется более 0(п) времени, если только основных операций достаточно для нее.

Таким образом, есть возможность улучшить среднее время илп время в худшем случае, приведенные на рис. 4.36. Напротив, можно ли для некоторого подмножества (или даже всего множества) основных операций на целых числах от 1 до и получить нижние оценки, лучшие чем 0(п)? Замечания по литературе [)нформапню о разнообразии методов расстановки можно почерпнуть в кннгах Морриса [)968[, Ахо, Ульмана [[9731 н Кнута [[973а[ х), Последняя содержнт ') Кнут [)973а, 46Л[ дает краткую нсторню возникновения н развнтня этих методов, а также интересное обьясненне употребляемого в литературе на англнбском языке термина «Ьазп)пяь. По свндсгельсгву Кнута, это слово ев раз.

ных частях света уже стало общепринятым жаргономж В нашу лнтературу также гл. с стрккткпы данных для злдлч с множнствлмн также информацию о деревьях двоичного поиска. Алгоритм 4.2 для построения статического дерева двоичного поиска заимствован у Гилберта, Мура [1959). Алгоритм сложности 0(лз) для той же задачи можно найти у Кйута [1971[, где содержится также и решение упр. 4.6. Ху. Таккер [1971) показали, что время 0(л ) и память 0(л) достаточны, чтобы построить оптимальное дерево двоичного поиска, в котором данные появляются только на листьях. Кнут [1973а) дал реа.

лизацию эчого алгоритма эа время 0(л 1ойл). Рейнгольд [1972] приводит оптимальные алгоритмы для многих основных преобразований множеств, таких, как объединение и пересечение. Алгоритм 4.3 для задачи ОБЪЕЛИНИТЬ вЂ” НАЙТИ был, по-видимому, впервые применен Мак-Илроем и Моррисом.

Кнут [1969] приписывает сжатие путей Триггеру. Теорема 4.4 взята у Хопкрофта, Ульмана [1974], а теорема 4 3 — у Тарьяна [1974[. Приложение к приравниванию идентификаторов и вычислению смещения, обсуждавшиеся в равд. 4.8, заимствованы у Галлера, Фишера [!964]. Приложе. ние 3 об эквивалентности конечных автоматов взято из статьи Хопкрофта, Карпа [1971). Упр. 4.16 и 4.17, касающиеся сложности алгоритма 4.3 без сжатия путей, взяты у Фишера [1972) н Патерсона [1973] соответственно. АВЛ-деревья даны по Адельсону-Вельскому, Ландису (1962), а ответы на упр.

4.31 и 4.32 можно найти у Крейна [1972]. Понятие а-сбалансированного дерева наложено по Нивергельту, Рейнгольду [1973]. Читатель может обратиться к этой работе по поводу упр. 4.34 — 4.37. )(альнейшие применения 2-3-деревьев можно найти в рабоче Ульмана ]1974). Упр. 4.22 представляет собой раннее решение задачи ОБЪЕЛИНИТЬ— НАЙТЙ; оно приведено Стирнэом, Розенкранцем [1969).

Упр.4.38 содержится у Ахо, Хопкрофта, Ульмана [19?4!. Различие между префнксным и свободным режиыами работы алгоритмов ввели Хартманис, Льюис, Стирнз [1965]. Рабин [1963] изучил нежный частный случай префиксных вычислений, называемый вычислением в реальное время. Алгоритм разбиения и приложение к минимизации числа состояний конеч. ного автомата взяты из статьи Хопкрофта [1971[.

проник уже этот жаргон: хеширование, хеш-таблицы, хеш-функции. В данной книге мы вслед за переводчикаыи двухтомного труда Ахо, Ульмана [1972, 1973) называем эти методы лешодали рассшаноэкк.— Прим. ред. АЛГОРИТМЫ НА ГРАФАХ Многие задачи теоретического и прикладного характера можно сформулировать в терминах неориеитированных или ориентированных графов. В этой главе мы обсудим некоторые из основных задач на графах, решения которых полиномиально зависят (в смысле времени выполнения) от числа узлов и, следовательно, ребер графа.

В основном мы будем заниматься задачами, в которых речь идет о связности графа. Сюда входят алгоритмы для нахождения остовных деревьев, двусвязных компонент, сильно связных компонент и путей между узлами. В гл. 1О мы изучим более сложные задачи о графах. ЗЛ. ОСТОВНОЕ ДЕРЕВО НАИМЕНЬШЕЙ СТОИМОСТИ Пусть 0= (1', Е) — связный неориентированный граф, для которого задана функция стоимости, отображающая ребра в вещественные числа.

Напомним, что остовным деревом для данного графа называется неориентированное дерево, содержащее все узлы графа. Стоимость остовного дерева определяется как сумма стоимостей его ребер. Наша цель — найти для 0 остовное дерево наименьшей стоимости. Мы увидим, что остовиое дерево наименьшей стоимости для графа с г ребрами можно найти за время 0(г 1ойг) в общем случае и 0(г), если г достаточно велико по сравнению с числом узлов (см. упр. 5.3). Многие алгоритмы нахождения остов- ного дерева основаны на следующих двух леммах. Лемма 5.1. Пусть 6= (У, Е) — связный нгоригнтированный гра4 и 5= (У, Т) — остовног дерево для него.

Тогда (а) для любых двух узлов о, и о, из У путь между о, и о, в 5 гдинствгн и (б) если к 5 добавить ребра из Š— Т, то возникнет ровно один цикл. ГЛ. б. АЛГОРИТМЫ ИА ГРАФАХ Д о к а з а т е л ь с т в о. Утверждение (а) тривиально, ибо если бы было более одного пути, то в 5 был бы цикл. Утверждение (б) тоже тривиально, ибо между концами добавляемого ребра уже был один путь. С1 Лемма 5.2.

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

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

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

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