Hash Tables are used to implement a Map, they consist of two main components:

  • Bucket Array

    Bucket Array: array of size where each cell of is thought of as a “bucket” (collection of key-value pairs)

    Link to original
  • Hash Function

    A hash function has the properties:

    • Compression: maps an input of of arbitrary bit length to an output of fixed bit length which may be smaller
    • Polynomial time computable
    Link to original

When implementing a map with a hash table, we store the item at the index .