Create Custom HashMap

Albert Davletov
UniLecs
Published in
Apr 4, 2021

Задача: Спроектировать Хеш-таблицу без использования встроенных хэш-функций.

Необходимо реализовать класс CustomHashMap:

  • Add(int key, int value) — метод, ктр вставляет пару (ключ, значение) в Хеш-таблицу. Если ключ уже существует, то обновите соответствующее значение.
  • Get(int key) — метод, ктр возвращает значение по ключу. Если такого ключа нет то метод возвращает -1.
  • Remove(key) — метод, ктр пару { ключ, значение }, если такая пара есть в хэш-таблице.

Разбор

Самое простое решение будет использование массива. Минус такого подхода — максимальный размер массива будет определять размер максимальный размер входных данных хэш-таблицы.

Так как и массива и хэш-таблица имеет O(1) и для вставки и для извлечения элемента, то функции Add, Get будут легко определены. Функция Remove будет не удалять элемент массива и заносить предельное значение, например int.MinValue.

Реализация

C#

gist.github.com

Play-test

dotnetfiddle.net

--

--