Build working implementations of hash tables written in the C programming language. This book
starts with simple first attempts devoid of collision resolution strategies and moves through
improvements and extensions illustrating different design ideas and approaches followed by
experiments to validate the choices. Hash tables when implemented and used appropriately are
exceptionally efficient data structures for representing sets and lookup tables providing low
overhead constant time insertion deletion and lookup operations. The Joys of Hashing walks
you through the implementation of efficient hash tables and the pros and cons of different
design choices when building tables. The source code used in the book is available on GitHub
for your re-use and experiments. What You Will Learn Master the basic ideas behind hash tables
Carry out collision resolution including strategies for handling collisions and their
consequences for performance Resize or grow and shrink tables as needed Store values by
handling when values must be stored with keys to make general sets and maps Who This Book Is
For Those with at least some prior programming experience especially in C programming.