Hashing, HashTables, HashSets, and HashMaps

Dictionaries are built out of HashTables in most languages. There's a pretty good reason. As this is probably students' first encounter with the concept of a hash, I also try to give a sense of what these functions are used for when we're not studying hashmaps/sets/tables.

What is a hash function? (5:11)

Hash Functions in Security/Privacy (2:22)

Hash Functions for HashMaps (3:28)

HashSet Example (4:30)

HashMap Example (1:11)

HashMap Internals: Collisions and Load Factor (5:50)

HashSet with Fewer Buckets (1:43)

HashMap Collision Resolution Strategies (2:21)

HashSet with Linear Probing Example (4:56)

HashMap Internals: Example Bucket Classes (1:06)

Insertion Order: LinkedHashMap and LinkedHashSet (1:15)

HashMaps are the best Dictionary (Complexity) (3:25)