The Joys of Hashing

Hash Table Programming with C

  • Thomas┬áMailund

Table of contents

  1. Front Matter
    Pages i-xi
  2. Thomas Mailund
    Pages 1-5
  3. Thomas Mailund
    Pages 7-20
  4. Thomas Mailund
    Pages 49-99
  5. Thomas Mailund
    Pages 101-137
  6. Thomas Mailund
    Pages 139-171
  7. Thomas Mailund
    Pages 173-198
  8. Thomas Mailund
    Pages 199-200
  9. Back Matter
    Pages 201-206

About this book


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.

You will:
  • 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


hash tables programming C language data maps source code

Authors and affiliations

  • Thomas┬áMailund
    • 1
  1. 1.Aarhus NDenmark

Bibliographic information