Заказать курсовые, контрольные, рефераты...
Образовательные работы на заказ. Недорого!

Реализация функций расстановки (хеширование) и различных методов разрешения коллизий

РефератПомощь в написанииУзнать стоимостьмоей работы

Хеш-таблица — структура данных, которая реализует интерфейс ассоциативного массива, т. е., хранит пары: ключ и значение и выполняет основные операции: добавление пары, удаление по ключу и поиск по ключу. Хеш-функции применяются для защиты паролей (хорошая перемешиваемость данных), быстрых операций со структурами данных, т.к. хеш-таблицы имеют в основном вычислительную сложность О (1). Хеш-таблица… Читать ещё >

Реализация функций расстановки (хеширование) и различных методов разрешения коллизий (реферат, курсовая, диплом, контрольная)

Постановка задачи

Хеш-таблица представляет базу данных предметной области, соответствующей варианту. Реализовать:

  • · Выбор ключа для соответствующей базы данных.
  • · По крайней мере, 3 различных функции хеширования для конкретных данных.
  • · Заполнение таблицы для каждой функции.
  • · Добавление новых данных для каждой функции.
  • · Удаление данных.
  • · Поиск данных по ключу.
  • · Оценку качества хеширования для каждой функции.
  • · Сравнение функций хеширования.

Краткое теоретическое положение

Хеш-таблица — структура данных, которая реализует интерфейс ассоциативного массива, т. е., хранит пары: ключ и значение и выполняет основные операции: добавление пары, удаление по ключу и поиск по ключу.

Хеширование — средство быстрого поиска данных, основанное на вычислении хеш-функции (числа, определяемого элементом данных). Это число — индекс в массиве ссылок на данные. При одинаковых хеш-значениях разных ключей возникают так называемые коллизии.

Метод разрешения коллизий: двойное хеширование. Двойное хеширование — основан на использовании двух хеш-функций. Коллизии возникают при открытой адресации. Берется значение hash1, если значение уже использовано, то вычисляется вторая вспомогательная функция, и берется значение hash1+hash2, hash1+2*hash2 и т. д.

Описание сферы практического применения используемого типа данных

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

Результаты работы программы

Рис 7. Пример работы 5-ой части программы

Таблица 3. Зависимость количества элементов от количества коллизий.

Количество элементов.

Коллизии (хэш сложением).

Коллизии (хэш умножением).

Коллизии (хэш пирсона).

Зависимость количества элементов от количества коллизий.

Рис. 8. Зависимость количества элементов от количества коллизий

моделирование алгоритм функция реализация.

Показать весь текст
Заполнить форму текущей работой