Hash tables are an efficient method of storing a small number, $$\mathtt{n}$$, of integers from a large range $$U=\{0,\ldots,2^{\mathtt{w}}-1\}$$. The term hash table includes a broad range of data structures. The first part of this chapter focuses on two of the most common implementations of hash tables: hashing with chaining and linear probing.