CPSC 319. Dr. Marina Gavrilova Computer Science University of Calgary Canada. Perfect Hashing Cichelli’s Algorithm. Outline. Perfect Hashing.
Dr. Marina Gavrilova
University of Calgary
hash (key) unique address
Process of creating a perfect hash function
A general form of a perfect hashing function is:
p.hash (key) =(h0(key) + g[h1(key)] + g[h2(key)] mod N
h0 = length (key)
h1 = first_character (key)
h2 = last_character (key)
andg = T (x)
where T is the table of values associated with individual characters x which may apply in a key.
The time consuming part of Cichelli’s algorithm is determining T.
Table 1: Values associated with the characters of the Pascal reserved words
The keyword begin would be stored in location 33. Since the hash values run from 2 through 37 for this set of data, the hash function is a minimal perfect hashing function.