# Lecture 2 - Hashing Flashcards

Give time worst case analysis of Insertion, Deletion, and Searching in hashing.

Insertion: O(1) time (Insert at the beginning of the list).

Deletion: Search time + O(1) if we use a double linked list.

Search: Worst time happens when all keys go the same slot (list of size n), and we need to scan the full list => O(n)

Prove that expected time of search in hashing is Q(1+α)

where α = n/m.

Two cases:

1. Unsuccessful search

• Assume that we can compute the hash function in O(1) time.

• An unsuccessful search requires to scan all the keys in the list.

Search time = O( 1 + average length of lists )

Let ni be the length of the list attached to slot i.

E(ni) = α

=> O( 1 ) + O( α ) = O( 1 + α )

- Successful search

• Assume the position of the searched key x is equally likely to be any of the elements stored in the list.

• New keys inserted at the head of the list ⇒ Keys scanned after

finding x have been inserted in the hash table before x.

• Use indicator to count the number of collisions:

Xij = I {h(ki) = h(kj)}; E(Xij) = 1/m(probability of a collision)

Bunch of math to show Q(1+alpha) (slide 10)