Performance Evaluation of Quadratic Probing and Random Probing Algorithms in modeling Hashing Technique - Mugher, Raghda Abdulbaqi; Alhammadi, Nafea Ali Majeed (Journal of Soft Computing and Data Mining, 2022)
In hashing technique, a hash table and hash map represent a data structure for a group of objects to map between key and value pairs, as the hash table is affected by collision and overflow. The hash table collision and overflow can be handled by searching the hash table in some systematic fashion for a bucket that is not full. In open addressing, quadratic and random probing are well-known probe sequence algorithms for collision and overflow resolution. Key density, loading density, loading factor, collisions, overflows, keys clustering, space complexity, and time complexity are the main factors that highly affect the two algorithms during hash table systematic probing. Therefore, this project is conducted to compare the quadratic probing and random probing challenge performance in terms of the key density, loading density, loading factor, overflows, collisions, keys clustering, space complexity, time complexity using step count, the order of magnitude, the worst case, the average case, and the best case. Comparing both algorithms was performed by collecting data from an online survey about the English language proficiency of 104 students. The compression result shows that the random probing algorithm has achieved similar performance compared to quadratic probing in terms of key density, loading density, loading factor, space complexity, order of magnitude, worst case, and average and best case. While the quadratic probing algorithm has recorded less time complexity using the step count method compared to the random probing algorithm. On the other hand, the random probing algorithm has recorded fewer overflows, collisions, and key clustering compared to quadratic probing. However, the study has recommended the quadratic probing algorithm for better time complexity performance and the random probing algorithm for better performance resolving overflows, collisions, and key clustering.