Overview

This chapter presents hash tables, one of the most practical and widely used data structures for implementing dictionaries (supporting INSERT, SEARCH, and DELETE). While worst-case search time can degrade to Θ(n), hash tables deliver O(1) average-case performance under reasonable assumptions. The chapter progresses from direct-address tables through chaining and open addressing, covers the design of hash functions (division, multiplication, and universal hashing), and concludes with perfect hashing for static key sets.

Key Concepts

Algorithms and Techniques

Chaining

Open Addressing