This repository holds the source code for various hash table implementations with various hash functions and collision handling methods. The full paper is available at the "Mingchung Xia - Hash Table Research Paper.pdf" file in the root directory.
ABSTRACT: This paper seeks to investigate the efficiencies of hash tables influenced by varying parameters with a focus on collision handling methods. An investigation was carried forward by reason that, despite a hash table’s profound efficiency in terms of data structures for data search and mapping, it is evident that inappropriate conditions such as a poorly chosen collision handling method, hash function, or load factor for varying extents of weighted data distributions would greatly affect a hash table’s performance. Subsequently, a conduction of a Python 3 program ran several trials to evaluate the insertion and retrieval of hash tables, adjusted based on nine degrees of weighted data distribution, four varied collision handling methods, two hash functions, at six different load factors. Data was experimentally retrieved by programming these differently implemented hash tables and graphically analyzed. Consequently, no collision handling method was evaluated to be the best in general, as each possessed their own flaws under certain parameters while other methods could excel. Hence, the data would give insight to optimizing the potential of a hash table’s efficiency when correctly implemented under these known conditions.
Download and clone the repository by following the command below:
git clone https://github.com/mingchungx/Hash-Function-and-Collision-Optimization.git
Mingchung Xia