Hash Table Algorithms – Implementation of Various Hashing Methods
This project contains implementations of different hash table strategies in C++. The following methods are included:
-
Open Addressing
-
Closed Addressing (Chaining) using a balanced BST
-
Cuckoo Hashing – a strategy using two hash functions and element swapping
Features
-
Insertion (insert(value, key)) and deletion (remove(key)) of elements
-
Displaying current table contents (show())
-
Automatic resizing of the hash table when needed (increase_capacity())
-
Performance measurement for different data sizes
Tablice mieszające – Implementacje różnych metod hashowania
Projekt zawiera implementacje różnych strategii tablic mieszających (hash tables) w języku C++. W szczególności zaimplementowano:
-
Adresowanie otwarte (Open Addressing)
-
Adresowanie zamknięte (Chaining) z wykorzystaniem zbalansowanego BST
-
Cuckoo Hashing – strategia wykorzystująca dwa hashe i podmianę elementów
Funkcjonalność
-
Możliwość wstawiania (insert(value, key)) i usuwania (remove(key)) elementów
-
Wyświetlanie aktualnej zawartości tablic (show())
-
Automatyczne zwiększanie rozmiaru tablicy mieszającej, jeśli zajdzie potrzeba (increase_capacity())
-
Pomiar wydajności algorytmów dla różnych rozmiarów danych