Virginia Tech - Interactive Hashing Tutorial

Link(s)
http://research.cs.vt.edu/AVresearch/hashing
Topic(s)
Hashing, Search Algorithms

Screenshots
VT Hashing Tutorial
VT Hashing Tutorial
VT Hashing Tutorial: Table of Contents


Recommendation
  
Lecture Aide Recommended
Self-study Supplement Recommended
Standalone Recommended
Debugging Aide Has Potential
Works?
Yes
Delivery Method(s)
Java Applet
Project
Virginia Tech Algorithm Visualizations
Project Relationship
Part of collection
Language(s)
English
Author(s)
Mayank Agarwal, Matt Jaswa, Arpit Kumar, Purvi Saraiya, Crystal Weil, A.J. Alon, Cliff Shaffer
Institution(s)
Virginia Tech
Activity Level(s)
Exploration, Questions, Random data, Step control, User data
Source Code License
Licensed under GPL
First Published
2007
Last Modified
2010
Awards
AlgoViz.org Award Winner - 2010

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.

Usage Notes

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.

Field Report(s)
Field Report: 1
Field Report: 2
References
N/A
Rating
5
Average: 5 (1 vote)
Your rating: None
AV of the Day
Yes
Score
87