CPSC 319

1 / 7

# CPSC 319 - PowerPoint PPT Presentation

CPSC 319. Dr. Marina Gavrilova Computer Science University of Calgary Canada. Perfect Hashing Cichelli’s Algorithm. Outline. Perfect Hashing.

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

## PowerPoint Slideshow about 'CPSC 319' - scarlet-christensen

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

### CPSC 319

Dr. Marina Gavrilova

Computer Science

University of Calgary

Perfect Hashing
• Cichelli’s Algorithm
Outline

Perfect Hashing

• A perfect hashing function maps a key into a unique address. If the range of potential addresses is the same as the number of keys, the function is a minimal (in space) perfect hashing function.
• What makes perfect hashing distinctive is that it is a process for mapping a key space to a unique address in a smaller address space, that is

• Not only does a perfect hashing function improve retrieval performance, but a minimal perfect hashing function would provide 100 percent storage utilization.

Perfect Hashing

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

Cichelli’s Algorithm

• In Cichelli’s algorithm, the component functions are:

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.

Cichelli’s Algorithm

Table 1: Values associated with the characters of the Pascal reserved words

• When we apply the Cichelli’s perfect hashing functionto the keyword begin using table 1, we can get –

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.