mirror of
https://codeberg.org/andyscott/HashMaps.git
synced 2024-12-21 12:33:10 -05:00
Hash maps using (Separate) Chaining, and Open Addressing with Quadratic Probing
.gitignore | ||
a6_include.py | ||
hash_map_oa.py | ||
hash_map_sc.py | ||
LICENSE | ||
README.md |
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.