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

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

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

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

Пусть де = О, ро = 1, 9» = 1. р» = О и В»+1 = а»й» + В»-м р»»» = а»р» + р»» при А > 1. Пусть (х) означает х шос(1 = х - (х), а (х)+ — х— (х) + 1. Перенумеруем отрезки, получающиеся в результате последовательной вставки точек (В), (2В), (ЗВ),...

в интервал (О .. Ц, в порядке их появления, причем первому отрезку присваивается номер О. Докажите справедливость следующих утверждений. Интервал номер э длиной ((В), где 1 = гд» + д»эм О < г < а», (с четно и 0 < э < о», имеет левую границу (эВ) и правую границу ((э + 1)В)+. Интервал номер э длиной 1 — ((В), где 1 = язгляките с этой точка зрения ка коликами х~е» х»э+х»+ 1 к хээ 4 хэе 4хээ 4хээ+ х~е.»х»э.~- х" +х»о+ хе+ х" + х»+ х»+ хе+ х' + 1, определяющие СС1ТТ СКС-16 к СКС 32 соответствекко, к рассмотрите возможкость ксиользовэнкя СКС в качестве хеш-фукалка, — Прим.

перев. го» + С»» и О < г < о», Ь нечетно и 0 < в < Сы имеет левую гранину ((в+ 1)д) и правую границу (вд)+. Любое положительное питое число и может быть единственным образом представлено в виде и = го» + о» 1 + в при А > 1, 1 < г < а» и 0 < в < С». В зтнх обозначениях перед вставкой точки (пд) имеется и интервалов: первые в интервалов (с номерами О, ..., в — 1) длиной ((-1) (гд» + С»-»)б)' первые и — о» интервалов (с номерами О... и — С» — 1) длиной ((-1) С»Ь); последние о» -в интервалов (с номерами в,..., о» вЂ” 1) длиной ((-1) ((г-1)д»+С»-1)()) . Операция вставки (пд) приводит к удалению интервала номер в третьего типа и его преобразованию в интервал номер в первого типа и номер и — С» второго типа.

9. [Муй) Прн последовательной во~алке точек (д), (29), ... в отрезок [О .. 1[ теорема Я утверждает, что каждая новая точка всегда разбивает один из наибольших имеющихся интервалов. Если интервал [а..с[ разбит так»ьи образом на две части, [а..Ь] и [Ь..с), назовем разбиение плохим, если одна из частей более чем в два раза больше другой, т. е. если Ь вЂ” а > 2(с — Ь) нли с — Ь > 2(Ь вЂ” а), Докажите, что при некотором и точка (пб) дает плохое разбиение, за исключением случаев () шод1 = 4 ' и 9 пюд1 = й в, прн которых никогда не бывает плохих разбиений. 10. [М33[ (Р. Л. Грэхем (К. 1.. Сгаба»п).) Докажите, что если О.пп,,пв — действи- тельные числа, причем о~ = О, если пп,пв — положительные целые числа и если точки (од+ о,) вставлены в интервал [0..1[ при 0 < и < гб и 1 <,у < д, то и» + + пв получающихся интервалов (возможно, пустых) имеют не более Зд различных длин.

11. [16[ Как правило, поиск чаще завершается успешно, чем неудачно. Исходя из этого, насколько разумно заменить строки 12-13 программы С строками 10-112 ь 12. [31[ Покажите, что программа С может быть переписана так, что во внутреннем ци- кле останется только олин условный переход. Сравните время работы модифицированной и исходной программ. ь 13. [34) (Сокращенные ключи.) Пусть Ь(К) представляет собой хеш-функцию, а д(К)— функцию от К, такую, что К можно определить по данным И(К) и д(К). Например, в случае хеширования путем деления можно положить Ь(К) = К шод Ы, а д(К) = (К/Ав); при мультиплпкативном же хешировании в качестве Ь(К) можно взять старшие биты (АК~и) |под 1, а в качеств о(К) — осгальные биты.

Покажите. что при использовании цепочек без списков перекрытий достаточно хра- нить значение о(К) вместо К для каждой записи. (Это позволяет сэкономить простран- гтво, необходимое для полей ссылок,) Измените алгоритм С, чтобы он позволял работать с такими сокращено.лми ключами н можно было избежать использования списков пере- крытий и вспомогательной памяти для хранения переполняющих записей. 14.

[34[ (Э. В. Элькок (Е. %. Е1сос)»).) Покажите, что большая хеш-таблица может Раздавать на»пиль с другими связанными списками. Пусть каждое слово области списка имеет двухбитовое поло ТАС и два ссылочных поля (ЬХЯК и АОХ), имеющих следующий смысл. ТАС(Р) = 0 указывает на слово в списке свободного пространства, 1.13К(Р) указывает на следующий элемент в списке, а АОХ(Р) не используется. ТАС(Р) = 1 указывает на используе»юе слово, где Р ие является хеш-адресом никакого ключа из хеш-таблицы; другие поля слова в позиции Р могут иметь любой фо рмат. ТАС(Р) = 2 указывает, что Р представляет собой хеш-адрес, по меныпей мере„одного ключа, АОХ(Р) указывает на связанный список, определяемый всеми такими ключами, а ЫИК(Р) указывает на другое слово в памяти списка.

При каждом обращении к слову с ТАС(Р) = 2 во время обработки любого списка мы присваиваем Р +- 11)В(Р) несколько раз до достижения слова с 110(Р) < 1. (Для эффективности можно также изменить предшествующие ссылки так, что не нужно будет пропускать одни и те же элементы снова и снова.) Определите подходящий алгоритм для вставки и получения ключей из такой хеш-таблицы. 15. (16) Почему в алгоритмах 1. и 1) стбит сообщать о переполнении при Ь? = М вЂ” 1„а не при ?т' = М? 16. (10] В программе Ь говорится, что К не должно быть нулем.

А вдруг на гамом деле она работает при К = О? 17. [16) Почему бы просто не определить Ь»(К) = Ь~(К) в (25) при Ь~(К) эе О? ь 18. (31) Что лучше использовать для замены строк 10-13 программы 1) — (31) нли (30)? Дайте ответ на основании средних значений А, $1 и С. 19. (ХР) Проверьте эмпирически воздействие ограничения области значений Ьз(К) в алгоритме 1), так что; (а) 1 < Ьт(К) < г при г = 1,2,3,...,10; (Ь) 1 < Ьз(К) < рМ при ~о го го 20. (М33) (Р. Крутар (В.

Кгвгаг).) Измените алгоритм 1) следующим образом для удаления хеш-функции Ьз(К): на шаге 1)3 установите с г- О, а в начале шаха П4 установите с < — с+1. Докажите, что, если М = 2, соответствующая последовательность проб Ь|(К), (Ь~(К) — 1) шоб М, ..., (Ь|(К) — ( )) шоб ЛХ будет перестановкой (0,1,..., ЛХ-1». Если такой метод "квадратичных проб" запрограммировать для компьютера 811, как будет выглядеть полученная программа по сравнению с программами, показанными нв рис. 42, в предположении, что алгоритм ведет себя, как при случайном опробовании с вторичной кластеризацией? ь 21.

(36) Предположим, что необходиью удалить запись из таблицы, построенной согласно алгоритму 1), помечая ее как удаленную, как было предложено в тексте. Следует лн при этом уменьшать значение переменной Ж, используемой для управления алгоритмом 1)? 22. (37) Докажите, что алгоритм В оставляет таблицу в таком виде, квк будто 33?РД никогда ие был вставлен. ь 23. (38) Разработайте алгоритм, аналогичный алгоритму В., для удаления элементов из хепьтаблицы с цепочками, построенной по алгоритму С.

24. (МЯО) Предположим, что множество всех возможных ключей имеет ЛХР элементов, из которых ровно Р имеют некоторый данный хеш-адрес. (На практике Р очень велико; например, если ключи представляют собой произвольные десятизначные числа и если М = 10з, то Р = 10'.) Положим М > 7 и ЛХ = 7. Если из множества всех возможных ключей выбраны семь различных, то чему будет равна точная вероятность того, что будет получена хеш-последовательность 1 2 6 2 1 6 1 (т.

е. Ь(Кг ) = 1, Ь(Кз) = 2, ..., Ь(Кг) = 1)? Выразите ответ в виде функции от ЛХ и Р. 23. (М19) Объясните, почему верна формула (39). 26. (МЯО) Чему равно количество хеш-последовательностей а~ оз... аэ, дающих при использовании линейного исследования картину занятых ячеек, приведенную в (21)? 27, (ЛХ37) Завершите доказательство теоремы К. (Указание, Пусть лля доказательства того, что в(н,х, Р) = х(х + у)" + пв(п-1,х+1, Р-1), используйте биномивльную теорему Абеля (1.2.6-(! 6) ),) 28. [Муд] "В те времена укромные, теперь почти былинные'", когда компьютеры были очень медлительными, по скорости мигания лампочек иа панели можно было увидеть, иасколько быстро работает алгоритм 1..

Когда таблица заполнялась почти до конца, можио было заметить, что одни даииые обрабатыввлигь очень быстро, а друпге — очень медленно. Эти наблюдения наталкивают на мысль о большом значении стандартного отклоиеиия количества проб в случае неудачного поиска при использовании линейного исследования. Найдите формулу, выражающую дисперсию через функции О из теоремы К, и оцените ее зца юпие при М = аМ и М -+ оо. 29.

[М311 (Задача о паркоеке.) Предположим, существует некоторая улица с односторонним движением. имеющая т мест для парковки, пронумерованных от 1 до гп. В автомобиле рядом с водителем дремлет его жена, которая вдруг просыпается и требует немедленно остановиться. Муж послушио выполняет требование жены и остаиевливается на первом свободном месте для парковки. Однако, если "нет нигде стоянки, Брайтон весь забит", т. е. впереди иет ни одного свободиого места (жеиа просиулась в тот момент, когда автомобиль проезжал Ь-е место парковки, в все места Ь, Ь+ 1,..., т были заняты), законопослушность водителя перевешивает послугциость жене и ои, принеся свои извипеиия, едет дальше, Предположим.

что нв одной улице оказалось и автомобилей с дремлющими жеиами, причем У-я жена (имеется в виду, конечно же, жена У-го водителя. — Про»». нерее,) просыпается напротив а,-го места парковки. Сколько последовательностей ам .. а позволят всем автомобилям успешно припарковаться, если предположить, что первоначально улица была пуста и что ни один из припарковавшихся автомобилей ие уехав. Например, при т = и = 9 и а~...

а» = 3 1 4 1 5 9 2 б 5 автомобили будут припаркованы следующим образом. [Укозеиие. Воспользуйтесь анализом линейного исследования.] 30. [МЯ8] Покажите, что в задаче о парковке из упр. 29 при и = гп все машины припарковывшотся тогда и только тогда, когда существует перестановка р~ рз...р множества (1, 2,..., и), такая, что а„< р, для всех у', 31. [М40] При им ш в упр.

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

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

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