Virginia Tech Hashing Tutorial

Recommendation

Recommended

Link

http://research.cs.vt.edu/AVresearch/hashing

Delivery Method

Java Applet

License

GPL

Language

English

Author

Mayank Agarwal; Matt Jaswa; Arpit Kumar; Purvi Saraiya; Crystal Weil; Cliff Shaffer

Institution

Virginia Tech

Project

Virginia Tech Algorithm Visualizations

RelationshipToProject

PartOfCollection

Works

Yes

Description

A complete tutorial for teaching hashing, largely based on the presentation in "A Practical Introduction to Data Structures and Algorithm Analysis" by Clifford A. Shaffer. A series of HTML pages takes the reader through the topics of hash functions, open vs. closed hashing, collision resolution, deletion. The web pages are interspersed with visualizations that demonstrate a variety of hash functions and collision resolution methods, as well as applets that show aspects of the performance for the various methods.

Evaluation

The presentation is fairly detailed. This tutorial can stand alone as an introduction to hashing, and has been classroom tested in that mode. The series of applets that show the various hash functions and collision resolution methods allow students (optionally) to working in "test" mode where they must first predict where the next key will go in the hash table. The applets that demonstrate performance are fairly unique in that AVs usually only show how things work, not their performance. However, the performance graphs might not always be sufficiently clear.

ActivityLevel

Step Control; User Data; Random Data; Questions; Exploration

GoodFor

Lecture Aid; Lab Exercise; Self Study; Comparison

Screenshots

Section 2.1 - Simple Mod Function Hashing Tutorial

Videos

References

HowToUse

Clicking on the link above will take you to a "table of contents" for the hashing tutorial. You can click on any entry to go to a page on that topic, or you can start at the beginning and use the navigation links at the bottom of each page to progress through the tutorial. Most tutorial pages have one or more Java applets that either let you try out something or compare the performance of various implementations.

First Visited

2008-05-05

Last Visited

2008-05-05

Last Updated

2008-05-02

Topic

Hashing

Community

Comments

Edit

You may edit this entry if you have an account.