Внимание! Studlandia не продает дипломы, аттестаты и иные документы об образовании. Наши специалисты оказывают услуги консультирования и помощи в написании студенческих работ: в сборе информации, ее обработке, структурировании и оформления работы в соответствии с ГОСТом. Все услуги на сайте предоставляются исключительно в рамках законодательства РФ.
Нужна индивидуальная работа?
Подберем литературу
Поможем справиться с любым заданием
Подготовим презентацию и речь
Оформим готовую работу
Узнать стоимость своей работы
Дарим 200 руб.
на первый
заказ

Решение задач на тему: Массивы - предшественники хеш-структур. Линейное хеширование

Купить за 150 руб.
Страниц
15
Размер файла
117.45 КБ
Просмотров
43
Покупок
0
Номер заказа 115016 Добавлен 14.05.2016 13:22 Тип работы Реферат Дисциплина Уточнить предмет Тема «Сравнительный анализ структур массив и линейное хэширование.» Кол-во страниц 15-20 Пометки заказчика Дисциплина: САОД(Структуры и алгоритмы обработки данных) Коротко определить что представляют из себя данные структуры. Привести и обосновать достоинства и недостатки данных структур. Привести примеры целесообразности использования этих структур. Объем текста не регламентируется. Большого трактата не требуется. Коротко, но емко и доказательно осветить предложенную тему. Срок сдачи 23.05.2016

Введение

С хешированием мы сталкиваемся едва ли не на каждом шагу: при работе с браузером (список Web-ссылок), текстовым редактором и переводчиком (словарь), языками скриптов (Perl, Python, PHP и др.), компилятором (таблица символов). По словам Брайана Кернигана, это "одно из величайших изобретений информатики". Заглядывая в адресную книгу, энциклопедию, алфавитный указатель, мы даже не задумываемся, что упорядочение по алфавиту является не чем иным, как хешированием.

Хеширование есть разбиение множества ключей (однозначно характеризующих элементы хранения и представленных, как правило, в виде текстовых строк или чисел) на непересекающиеся подмножества (наборы элементов), обладающие определенным свойством. Это свойство описывается функцией хеширования, или хеш-функцией, и называется хеш-адресом. Решение обратной задачи возложено на хеш-структуры (хеш-таблицы): по хеш-адресу они обеспечивают быстрый доступ к нужному элементу. В идеале для задач поиска хеш-адрес должен быть уникальным, чтобы за одно обращение получить доступ к элементу, характеризуемому заданным ключом (идеальная хеш-функция). Однако, на практике идеал приходится заменять компромиссом и исходить из того, что получающиеся наборы с одинаковым хеш-адресом содержат более одного элемента.

Термин "хеширование" (hashing) в печатных работах по программированию появился сравнительно недавно хотя сам механизм был известен и ранее. Глагол "hash" в английском языке означает "рубить, крошить". Для русского языка академиком А.П. Ершовым был предложен достаточно удачный эквивалент - "расстановка", созвучный с родственными понятиями комбинаторики, такими как "подстановка" и "перестановка". Однако он не прижился.

Как отмечает Дональд Кнут , идея хеширования впервые была высказана Г.П. Ланом при создании внутреннего меморандума IBM в январе 1953 г. с предложением использовать для разрешения коллизий хеш-адресов метод цепочек. Примерно в это же время другой сотрудник IBM - Жини Амдал - высказала идею использования открытую линейную адресацию. В открытой печати хеширование впервые было описано Арнольдом Думи (1956), указавшим, что в качестве хеш-адреса удобно использовать остаток от деления на простое число. А. Думи описывал метод цепочек для разрешения коллизий, но не говорил об открытой адресации. Подход к хешированию, отличный от метода цепочек, был предложен А.П. Ершовым (1957), который разработал и описал метод линейной открытой адресации. Среди других исследований можно отметить работу Петерсона (1957). В ней реализовывался класс методов с открытой адресацией при работе с большими файлами. Петерсон определил открытую адресацию в общем случае, проанализировал характеристики равномерного хеширования, глубоко изучил статистику использования линейной адресации на различных задачах. В 1963 г. Вернер Букхольц опубликовал наиболее основательное исследование хеш-функций.

Далее будут массивы - как предшественники хеш - структур, схемы хеширования, область их применения, а также будет проведён сравнительный анализ структур массив и линейное хеширование.

Оглавление

- Введение

- Массивы - предшественники хеш-структур

- Линейное хеширование

- Преимущества и недостатки линейного хеширования Заключение

- Список использованной литературы

Заключение

Хеширование, которое родилось еще в середине прошлого века, активно используется в наши дни везде, где требуется произвести быструю выборку данных. Появились новые методы хеширования, новые модификации алгоритмов, написанных ранее. По мнению Дональда Кнута наиболее важным открытием в области хеширования со времен 70 годов, вероятно, является линейное хеширование Витольда Литвина. Линейное хеширование, которое не имеет ничего общего с классической технологией линейной адресации, позволяет многим хеш-адресам расти и/или выступать в поли вставляемых и удаляемых элементов. Линейное хеширование может также использоваться для огромных баз данных, распределенных между разными узлами в сети.

Разумеется, методы и сферы применения хеширования не ограничиваются тем, что представлено в этой работе. Не вдаваясь в строгий анализ эффективности, были рассмотрены только базовые, наиболее известные методы. Помимо них можно отметить полиномиальное хеширование (М. Ханан и др., 1963), упорядоченное хеширование (О. Амбль, 1973), линейное хеширование (В. Литвин, 1980).

Список литературы

1. Hellerman Н., Digital Computer System Principles. McGraw-Hill, 1967.

2. Ершов А.П., Избранные труды., Новосибирск: "Наука", 1994.

3. Кнут Д., Искусство программирования, т.3. М.: Вильямс, 2000.

4. Peterson W.W., Addressing for Random-Access Storage // IBM Journal оf Research and Development, 1957. V.1, N2. Р.130-146.

5. Morris R., Scatter Storage Techniques // Communications оf the ACM, 1968. V.11, N1. Р.38-44.

7. #"#">#"#">#"#">#"#">#"#">#"#">http://www.сs.uic.edu/~i201/HashingAns.pdf

16. Т. Gunji, Е. Goto, J. Information Proc., 3 (1980), 1-12

17. Чмора А., Современная прикладная криптография., М.: Гелиос АРВ, 2001.

19. Кормен Т., Лейзерсон Ч., Ривест Р., Алгоритмы: построение и анализ, М.: МЦНМО, 2001

20. Вирт Н., Алгоритмы + структуры данных = программы, М.: Мир, 1985.

21. Керниган Б., Пайк Р., Практика программирования, СПб.: Невский диалект, 2001.

22. Шень А, Программирование: теоремы и задачи. М.: МЦНМО, 1995.

Как купить готовую работу?
Авторизоваться
или зарегистрироваться
в сервисе
Оплатить работу
удобным
способом
После оплаты
вы получите ссылку
на скачивание
Страниц
15
Размер файла
117.45 КБ
Просмотров
142
Покупок
0
Массивы - предшественники хеш-структур. Линейное хеширование
Купить за 150 руб.
Похожие работы
Сумма к оплате
500 руб.
Купить
Заказать
индивидуальную работу
Гарантия 21 день
Работа 100% по ваши требованиям
от 1 000 руб.
Заказать
Прочие работы по предмету
Сумма к оплате
500 руб.
Купить
Заказать
индивидуальную работу
Гарантия 21 день
Работа 100% по ваши требованиям
от 1 000 руб.
Заказать
103 972 студента обратились
к нам за прошлый год
1950 оценок
среднее 4.2 из 5
Михаил Очень долго искала эксперта, который сможет выполнить работу. Наконец-то нашла. Работа выполнена в срок, все,как...
Юлия работа выполнена отлично, раньше срока, недочётов не обнаружено!
Юлия Работа выполнена качественно и в указанный срок
Ярослава Эксперта рекомендую !!!! Все четко и оперативно. Спасибо большое за помощь!Буду обращаться еще.
Ярослава Благодарю за отличную курсовую работу! Хороший эксперт, рекомендую!
Марина Хорошая и быстрая работа, доработки выполнялись в кратчайшие сроки! Огромной спасибо Марине за помощь!!! Очень...
Мария Благодарю за работу, замечаний нет!
Елена Елена прекрасно справилась с задачей! Спасибо большое за великолепно выполненную работу! Однозначно рекомендую!
Михаил Михаил отличный эксперт! Работу сделал раньше заявленного срока, все недочеты поправили, работой довольна! 5+
Мария Благодарю за работу! Замечаний нет!