HashTables - Dictionaries 4/1/2003 8:43 AM Dictionary ADT...

Info iconThis preview shows pages 1–2. Sign up to view the full content.

View Full Document Right Arrow Icon
Dictionaries and Hash Tables 1 Dictionaries and Hash Tables 0 1 2 3 4 451-229-0004 981-101-0002 025-612-0001 Dictionaries and Hash Tables 2 Dictionary ADT (§8.1.1) The dictionary ADT models a searchable collection of key- element items The main operations of a dictionary are searching, inserting, and deleting items Multiple items with the same key are allowed Applications: ± address book ± credit card authorization ± mapping host names (e.g., cs16.net) to internet addresses (e.g., 128.148.34.101) Dictionary ADT methods: ± find (k): if the dictionary has an item with key k, returns the position of this element, else, returns a null position. ± insertItem (k, o): inserts item (k, o) into the dictionary ± removeElement (k): if the dictionary has an item with key k, removes it from the dictionary and returns its element. An error occurs if there is no such element. ± size (), isEmpty () ± keys (), Elements () Dictionaries and Hash Tables 3 Log File (§8.1.2) A log file is a dictionary implemented by means of an unsorted sequence ± We store the items of the dictionary in a sequence (based on a doubly-linked lists or a circular array), in arbitrary order Performance: ± insertItem takes O (1) time since we can insert the new item at the beginning or at the end of the sequence ± find and removeElement take O ( n ) time since in the worst case (the item is not found) we traverse the entire sequence to look for an item with the given key The log file is effective only for dictionaries of small size or for dictionaries on which insertions are the most common operations, while searches and removals are rarely performed (e.g., historical record of logins to a workstation) Dictionaries and Hash Tables 4 Hash Functions and Hash Tables (§8.2) A hash function h maps keys of a given type to integers in a fixed interval [0, N 1] Example: h ( x ) = x mod N is a hash function for integer keys The integer h ( x ) is called the hash value of key x A hash table for a given key type consists of ± Hash function h ± Array (called table) of size N When implementing a dictionary with a hash table, the goal is to store item ( k , o ) at index i = h ( k ) Dictionaries and Hash Tables 5 Example We design a hash table for a dictionary storing items (SSN, Name), where SSN (social security number) is a nine-digit positive integer Our hash table uses an array of size N = 10,000 and the hash function h ( x ) = last four digits of x
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Image of page 2
This is the end of the preview. Sign up to access the rest of the document.

This note was uploaded on 02/02/2012 for the course CS 251 taught by Professor Staff during the Fall '08 term at Purdue University-West Lafayette.

Page1 / 4

HashTables - Dictionaries 4/1/2003 8:43 AM Dictionary ADT...

This preview shows document pages 1 - 2. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online