Разработать класс элемента с вашей фамилией и инициалами, содержащий поле численного ключа и поле с данными.
Разработать класс с собственной реализацией структуры по варианту. В конце работы программы предусмотреть вывод параметров хеш-функции.
Структура должна поддерживать операции добавления, поиска и удаления элементов. Определить сложность выполнения данных операций.
В отчёте проиллюстрировать результаты работы программы, а также проиллюстрировать размещение элементов и выполнение операций на рассмотренной структуре.
Варианты заданий
Хеш-таблица с разрешением коллизий методом цепочек и с хеш-функцией, построенной по методу деления: h(key) = key mod M.
Хеш-таблица с разрешением коллизий методом цепочек и с хеш-функцией, построенной по методу умножения h(key) = [M ∗ (key ∗ A)].
Хеш-таблица с разрешением коллизий методом цепочек и с хеш-функцией, построенной по методу универсального хеширования h(key) = ((a*key + b) mod P) mod M.
Хеш-таблица с открытой адресацией и линейным исследованием с вспомогательной хеш-функцией, построенной по методу деления: h(key) = key mod M.
Хеш-таблица с открытой адресацией и линейным исследованием с вспомогательной хеш-функцией, построенной по методу умножения h(key) = [M ∗ (key ∗ A)].
Хеш-таблица с открытой адресацией и линейным исследованием с вспомогательной хеш-функцией, построенной по методу универсального хеширования h(key) = ((a*key + b) mod P) mod M.
Хеш-таблица с открытой адресацией и квадратичным исследованием с вспомогательной хеш-функцией, построенной по методу деления: h(key) = key mod M.
Хеш-таблица с открытой адресацией и квадратичным исследованием с вспомогательной хеш-функцией, построенной по методу умножения h(key) = [M ∗ (key ∗ A)].
Хеш-таблица с открытой адресацией и квадратичным исследованием с вспомогательной хеш-функцией, построенной по методу универсального хеширования h(key) = ((a*key + b) mod P) mod M.
Хеш-таблица с открытой адресацией и двойным хешированием. h1(key) = key mod M. h2(key) = 1 + key mod M*, где M и M* - взаимно простые.
Хеш-таблица с разрешением коллизий методом цепочек и с хеш-функцией, построенной по методу деления: h(key) = key mod M.
Хеш-таблица с разрешением коллизий методом цепочек и с хеш-функцией, построенной по методу умножения h(key) = [M ∗ (key ∗ A)].
Хеш-таблица с разрешением коллизий методом цепочек и с хеш-функцией, построенной по методу универсального хеширования h(key) = ((a*key + b) mod P) mod M.
Хеш-таблица с открытой адресацией и линейным исследованием с вспомогательной хеш-функцией, построенной по методу деления: h(key) = key mod M.
Хеш-таблица с открытой адресацией и линейным исследованием с вспомогательной хеш-функцией, построенной по методу умножения h(key) = [M ∗ (key ∗ A)].
Хеш-таблица с открытой адресацией и линейным исследованием с вспомогательной хеш-функцией, построенной по методу универсального хеширования h(key) = ((a*key + b) mod P) mod M.
Хеш-таблица с открытой адресацией и квадратичным исследованием с вспомогательной хеш-функцией, построенной по методу деления: h(key) = key mod M.
Хеш-таблица с открытой адресацией и квадратичным исследованием с вспомогательной хеш-функцией, построенной по методу умножения h(key) = [M ∗ (key ∗ A)].
Хеш-таблица с открытой адресацией и квадратичным исследованием с вспомогательной хеш-функцией, построенной по методу универсального хеширования h(key) = ((a*key + b) mod P) mod M.
Хеш-таблица с открытой адресацией и двойным хешированием. h1(key) = key mod M. h2(key) = 1 + key mod M*, где M и M* - взаимно простые.
Хеш-таблица с разрешением коллизий методом цепочек и с хеш-функцией, построенной по методу деления: h(key) = key mod M.
Хеш-таблица с разрешением коллизий методом цепочек и с хеш-функцией, построенной по методу умножения h(key) = [M ∗ (key ∗ A)].
Хеш-таблица с разрешением коллизий методом цепочек и с хеш-функцией, построенной по методу универсального хеширования h(key) = ((a*key + b) mod P) mod M.
Хеш-таблица с открытой адресацией и линейным исследованием с вспомогательной хеш-функцией, построенной по методу деления: h(key) = key mod M.
Хеш-таблица с открытой адресацией и линейным исследованием с вспомогательной хеш-функцией, построенной по методу умножения h(key) = [M ∗ (key ∗ A)].
Хеш-таблица с открытой адресацией и линейным исследованием с вспомогательной хеш-функцией, построенной по методу универсального хеширования h(key) = ((a*key + b) mod P) mod M.
Хеш-таблица с открытой адресацией и квадратичным исследованием с вспомогательной хеш-функцией, построенной по методу деления: h(key) = key mod M.
Хеш-таблица с открытой адресацией и квадратичным исследованием с вспомогательной хеш-функцией, построенной по методу умножения h(key) = [M ∗ (key ∗ A)].
Хеш-таблица с открытой адресацией и квадратичным исследованием с вспомогательной хеш-функцией, построенной по методу универсального хеширования h(key) = ((a*key + b) mod P) mod M.
Хеш-таблица с открытой адресацией и двойным хешированием. h1(key) = key mod M. h2(key) = 1 + key mod M*, где M и M* - взаимно простые.
(Количество уникальных вариантов - 10)