Лабораторная работа 12

Тема: Хеширование для организации быстрого поиска данных.

Цель: Получить навыки по разработке хеш таблиц.

Задание

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

2. Разработайте приложение, которое использует хеш таблицу для организации прямого доступа к элементам множества (массив данных), структура элементов которого приведена в варианте. Множество реализуйте через класс - шаблон с операциями вставки, удаления, поиска, вывода и включите в него хеш таблицу. Предусмотрите возможность создания наследников хеш-таблицы.

3. Разработайте такие тесты, чтобы возникли коллизии.

4. Выведите список индексов, которые формируются при вставке элементов в таблицу.

ВАРИАНТЫ

Метод хеширования (способ реализации коллизий) Структура элемента множества(ключ – подчеркнутое поле)
  С открытой адресацией (увеличение на 1) Читательский абонемент: номер читательского - целое пятизначное число, ФИО, Адрес
  С открытой адресацией(увеличение на номер выполняемого подбора) Счет в банке: номер счета 7 разрядное число, ФИО, Адрес
  С открытой адресацией (двойное хеширование) Владелец телефона: номер телефона – последовательность символов, адрес
  Цепное хеширование Владельцев автомобилей. номер машины, марка, сведения о владельце.
  Цепное хеширование Пациент поликлиники: номер карточки, код хронического заболевания, Фамилия лечащего врача
  Цепное хеширование Товар: название, код – шестиразрядное число
  Цепное хеширование Специализация вуза: код специальности, название вуза
  Открытый адрес(двойное хеширование) Книга: ISBN – двенадцатизначное число, Автор, Название
  Цепное хеширование Страховой полис: номер, компания, фамилия владельца
  Открытый адрес(увеличение на 1) Англо – русский словарь: английское слово, русское слово
  Открытый адрес(двойное хеширование) Железнодорожная справка: номер поезда, пункт отправления, пункт назначения, время отправления
  Цепное хеширование Регистрация малого предприятия: номер лицензии, название, учредитель
  Открытый адрес(двойное хеширование) Студент: номер зачетной книжки, номер группы ФИО
  Цепное хеширование Справочная межгорода: код города, название города
  Открытый адрес(увеличение на 1) Проверка проавописания по словарю правильных слов: слово (в тексте найти слова с орфографическими ошибками)
  Цепное хеширование Частотный словарь: слово, количество вхождений в текст
     

Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: