Hash maps using (Separate) Chaining, and Open Addressing with Quadratic Probing
Find a file
2022-06-05 00:14:15 -04:00
.gitignore Initial commit 2022-06-01 05:13:31 +02:00
a6_include.py Added skeleton code 2022-05-31 23:17:12 -04:00
hash_map_oa.py Added docstring for clear() 2022-06-02 22:44:35 -04:00
hash_map_sc.py Remove matplotlib import, update docstring for find_mode_put() 2022-06-03 14:07:40 -04:00
LICENSE Add name and year 2022-06-01 05:14:11 +02:00
README.md Update README 2022-06-05 00:14:15 -04:00

HashMaps

These two hash map implementations feature open addressing with quadratic probing and separate chaining to handle collisions. The a6_include module provides the underlying data structures, and two hash functions.

Both implementations use the included DynamicArray class for the underlying hash table, however hash_map_sc.py uses a singly linked list for each bucket while hash_map_oa.py uses a HashEntry object. Additionally, hash_map_sc.py includes a seperate function, find_mode(), that provides a mechanism for finding the value that occurs most frequently in the hash map and how many times it occurs with an O(n) time complexity.