Full stack dev
61 subscribers
356 photos
50 videos
4 files
99 links
"Full Stack Dev & Computer Science" – Канал для разработчиков, которые хотят
расширить свои знания в Full Stack и углубиться в основы и новейшие тренды Computer Science.
Здесь вы найдете материалы по frontend и backend разработке, работе с базами данных,
Download Telegram
Реализация простого HashMap на C++

📚Создание простой версии HashMap на с++,
key типа string, value типа int. Для решение проблемы с коллизии я
использовал алгоритм
"Прямой адресации".

------------------------------
⚙️Кратко о коде:

#define FILL_FACTOR 75 - это параметр который говорит когда стоит расширять HashMap.
Если количество элементов if this->count * 100 >= this->capacity * FILL_FACTOR то мы расширяем наш HashMap, этим занимается realloc().

int get() - Просто выдаёт значение по ключу

long hashed() - это функция преобразует key в хэш

void init() - инициализируем и выделяем память на наш HashMap.

typedef struct {} Item - Описывает элемент внутри HashMap.

elements - элементы в HashMap.

capacity - выделенный размер для элементов в HashMap.

count - количество заполненных элементов в HashMap.

------------------------------

📑Почитать о работе HashMap: тут

#algorithms #cpp