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

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

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

Не)!егшап, П!я!га! Сошрнгег ЯзяГеш Ргшс!р!ек (1чеш Ъог)с: МсСгаш-Н111, 1967), 152. При работе над этим разделом автор изучил около 60 относящихся к хешированию документов, однако более раннее упоминание данного термина встретилось лишь один раз в неопубликованном меморандуме В. В. Петерсона, датированном 1967 годом. Получилось так, что, хотя глагол нхешироватьв (1о ЬазЬ) стал стандартным термином в средине 60-х годов, никто не решался использовать в печати столь недостойное слово до 1967 года!* е Становление нового термина — процесс непростой. и, пожалуй, уместно вспомнитгь что еще совсем недавно вместо слона "компьютер" в нашей литературе использовалось в лучшем случае ЗВМ, вместо "винчестер" -- НЖЯД (дзн тех, кто не поьгнит этот термин, напомним, что он означает "накопитель на жестком магнитном диске" ), вместо "дискета" — ГМД (гибкий магнитный диск)...

†- Йрпхс нерее. Последние разработки. Со времени первой публикации этой главы в 1972 году в области теории и практики хеширования было сделано немало новых достижений, хотя основные идеи остались полезными для использования в обычных приложениях. Например, в книг 1. Б. Уйсег апь! 1ь!?.-С. СЬеп, Оев!яп апь! Апа!ув!в оГ Сов!евсее! Няя!ь!пк (!чеьу Уог!ь: Ох(огь! Бпнл Ргевв, 1987) рассмотрены и проанализированы различные поучительные варианты алгоритма С.

С практической точки зрения наиболее важным открытием в области технологии хеширования со времен 70-х годов, вероятно, является метод Витольда Литвина (%!го!ь! Ь!!ьу!и), называемый линейным хешированием [Ргос. 665 1пгегььаг!ьопа! СопГ. оп 1егу Ьагяе 17аваЬавев (1980), 212.-223[, Линейное хецьирование, которое не имеет ничего общего с классической технологией линейного исследования, позволяет многим хсш-адресам расти и?илье выступать в роли вставляемых и удаляельььх элементов. Превосходное обсуждение линейного хеширования, включая сравнение с другими методами, можно найти в работах Рььг-А!ье Ьагвоп, САСМ 31 (1988), 446- 457, %. О.

Сг!вас!6 апй С. М. Тоипяепь), Бойжаге Ргасбсе 4е Ехр, 23 (1993), 351 — 367 (в последней работе рассмотрены усовершенствования метода для одновременного использования множества больших и/или маленьких таблиц). Линейное хеширование может также использоваться для огромных баз данных, распределенных между многими узлами в сети [см, 1.!!ьу!п, Хеппас, апь! БсЬпе!ь!ег, АСМ Тгапв. ОагаЬаве Буль 21 (1996), 480-525[. Альшрнативная схема, называемая расширяемым хеширпааььием (ехгепь!!5!е Ьавй!гьд) и имеющая то свойство, что для выборки любой записи требуется не более двух ссылок на внешние страницы, была предложена в то же время в работе В.. Раб!и, 3, Х!еуегбе)ц Ь?.

Р!ррепбег, апь) Н. В. Бггопб [АСМ Тгапв. ВагаЬаве Бувг,. 4 (1979), 315 — 344!. Как линейное, так и расширяемое хеширования предпочтительнее использования В-деревьев (см. раздел 6.2.4) в том случае, когда порядок ключей не имеет значения. В области теоретической были разработаны более сложные методы, которые могут гарантировать максимальное время доступа 0(1) со средним временем на вставку и удаление 0(1) независимо от ключа.

Более того, общее количество пространства, требуемого для работы алгоритма, ограничено некоторой константой, умноженной на количество элементов, имеющихся в настоящий момент в наличии, плюс некоторая другая константа*, Этот результат, основанный на идеях Фредмана (Ргейпап), Комлеса (Когп!бв) и Семереди (Бхешегбс(!) [,1АСМ 31 (1984), 538-544[, получен в работе В!ест(е1Ъ!пкег, Квг1ш, МеЬ!Ьогп, Меуег ац1 с1ег Не!ь!е, ВоЬпегс, апь1 Тат)ап [Б1СОМР 23 (1994), 738 — 761), УПРАЖНЕНИЯ 1.

[Н0) Насколько малб и насколько велико может быть содержимое г11 по достижении команды 9Н, приведенной в табл. 1, в предположении, чтп каждый нз байтов 1, 2, 3 ключа К содержат символы с кодами, меньшими 30? 2. [вО) Найдите довольно известное английское гчпво, которого пвт в табл. 1 и которое может быть добавлено в иее без изменения программы. * Иначе говори, пе мудрствуя, мажип записать, что требуемая дли хранения память составляет Сь Ьх м Сз.

— Прим. перев. 3. [ЯУ] Объясните, почему программу, приведенную в табл. 1, нельзя заменить более простой программой, которая начинается с пити следующих ниже команд, ни при какой константе а, с учетом того, что разные ключи не могут иметь одинаковые хеш-адреса? 101 К(1:1) или Ы13 К(1".1) Х02 К(2:2) или 1026 К(2:2) 1301 а,2 Ы]2 К(3:3) 122 йр 4. [Муо] Сколько гостей следует пригласить на вечеринку, чтобы вероятность появления трех человек с одним и тем же днем рождения была не менее -'? б. [13] Мистер Ламер писал компилятор ГОКТКА)з с использованием десятячного компьютера И1Х, и ему понадобилась таблица символов для хранения имен переменных в программе во время компиляции. Эти имона имеют ограниченную длину - . не более десяти символов. Ламер рва~ил использовать хеш-таблицу с М = 100, а для скорости работы использовал хеш-функцию Н(Н') = крайний левый байт К.

Насколько хороша его идея? 6. [15] Насколько разумно заменить две первые команды нз (3) кома~дами ЫА К; ККТХ О? 7. [ПМУО] (Полиномиальное хеширование.) Назначение этого упражнения — рассмотреть построение полиномов Р(х), как в (10), которые преобразуют п-битовые ключи в т-битовые адреса так, что различные ключи, отличающиеся не более чем 1 бит, будут иметь различные хеш-адреса. По заданным значениям и и 1 < и, н по данному целому к, такому, что п делит 2" — 1, построим полинам степени т, где т является функцией п, 1 и к.

(Обычно при необходимости и увеличивается, так что 1' может быть выбрано достаточно малым.) Пу.сть 5 — минимальное множество целых чисел, таких, что (1,2,...,1) С 5 н (21) пзоб и й 5 для всех 1' й 5. Например, нри и = 13, х = 4 и г = б имеем 5 = (1, 2, 3, 4, б, 6,8,10,12тй).

Теперь определим полинам Р(х) = ][ з(х — а'), где о — элемент порядка и конечного поля Сг(2 ), а коэффициенты Р(х) вычисляются в этом поле. Степень т полинома Р(х) равна числу элементов в 5. Поскольку, если пг — корень Р(х), то и оз)— корень Р(х), отсюда следует, что коэффициенты р, полинома Р(х) удовлетворяют условию рз = р,, т. е. они представляют собой 0 или 1. Докажите, что если Н(х) = г„~х" ' + + г~х+ ге представляет собой некоторый ненулевой многочлен ио модулю 2 с не более чем 1 ненулевыми коэффициентами, то 1?(х) не кратен Р(х) по модулю 2. (Отсюда следует, что соответствующая хеш-функция ведет себя, как н было обещаноб) 8.

[МУ4] (Теорема а трех дланах.) Пусть д — иррациональное чигло между 0 и 1, представление которого в виде регулярной непрерывной дроби в обозначениях раздела 4.3.3 есть 9 = //ацамаз,...// Пусть до = О, ре = 1; В = 1, р~ = О и йь+~ = аьйь + йь-м рь.е~ = аьрь+рь-~ при?с > 1. Пусть [х) означает хшос(1 = х — [х), а (х)+ — х— [х] + 1. Перенумеруем отрезки, получающиеся в результате последовательной вставки точек (д), (20), (36),... в интервал [О ..

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

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

Операция вставки (иВ) приводит к удалению интервала номер з третьего типа и его преобразованию в интервал номер з первого типа и номер и — уь второго типа. 9. (М80) При последовательной вставке точек (В), (20), ... в отрезок (О .1] теорема Б утверждает, что каждая новая точка всегда разбивает один из наибольших имеющихся интервалов. Егли интервал (а. с) разбит такам образом на две части, (а..Ь) и (Ь..с), назовем разбиение плохим, если одна из частей более чем в два раза больше другой, т, е, если Ь вЂ” а > 2(с — Ь) или с — Ь > 2(Ь вЂ” а). Докажите, что при некотором и точка (и0) дает плохое разбиение, за исключением с.тучаев В шос) 1 = 4 ' и 0 шос) 1 = сэ т, при которых никогда не бывает плохих разбиений.

10. (М88) (Р. Л. Грэхем (В. 1.. Сгайага).) Докажите, что если В.аы..,,аг — действительные числа, причем а~ = О, если и,,..., иг — голожительные целые числа и если точхи (и0+ аг) вставлены в интервал (О., Ц при О < и < и, и 1 < 0 < д, то ис + + иг получающихся интервалов (возможно, пустых) имеют ие более Зс( различных длин.

11. (16) Как правило, поиск чаще завершаатся успешно, чем неудачно. Исходя из этого, насколько разумно заманить строки 12-13 программы С строками 10 — 112 ь 12. (81] Покажите. что программа С люжет быть переписана так, что во внутреннем цикле останется только один условный переход. Сравните время работы модифицированной и исходной программ. ь 13. (24) (Сокращенные ключи.) Пусть й(К) представляет собой хеш-функцню, а у(К)— функцию от К.

такую, что К можно определить по данным А(К) и у(К). Например, в ~ эучае хешнроьания путем деления лсожно положить й(К) = К шос) М, а у(К) = (К(М); при мультсшликативном же хешировании в качестве й(К) можно взять старшие биты (тПс/ш) шос) 1, а в качеств" у(К) остальные биты. Покажите, что при использовании цепочек без списков перекрытий достаточно хранить значение у(К) вместо К для каждой записи. (Это позволяет сэкономить пространство, необходимое для полей ссылок.) Измените алгоритм С, чтобы оп позволял работать с такими сокращенными ключами и можно было избежать использования списков верехрытий и вспомогательной памяти для хранения переполняющих записей.

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

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

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

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