Table of Contents
An algorithms engineering view ofHashing Schemes and Related Topics
Engineering
Engineering
Algorithms Engineering
Some good books...
Analysis vs. engineering
Plan
Dictionaries (Symbol tables)
Some examples of dictionaries
More examples
Basic operations
More operations
For our examples
Implementing dictionaries
Hashing schemes - basics
Hash functions
Why do collisions happen?
Separate chaining
Example
Performance
Embellishments
Saving space
Performance
Class problem
Question
Open addressing
Linear probing
Linear probing -- clustering
Performance
Performance
Double hashing
Double hashing
Performance
Performance
Open addressing performance
Rules of thumb
Choosing the hash function
More hash functions
Other
Caveats
Universal hashing
Properties
Fingerprinting
Why fingerprint?
Fingerprinting schemes
Rabin’s scheme
Nice extra properties
Bloom filters
Better solution:
Example
Perfect hashing
Other real life considerations
Summary
Conclusion
PPT Slide
|