8.1: Hash Tables
This lecture introduces the concept of key/value pairs and how to search for them via hash functions. Chaining is used to handle collisions, which are when multiple values share the same key.
This lecture expands upon the previous one to introduce the possibilities of running out of space in the hash table or of having chains that are too long. In those cases, we would want to increase the size of the hash table; this lecture discusses how to do that effectively.
Watch this lecture, which foregoes chaining as a means of handling collisions and uses table-probing instead.
Read this section on hashing, which presents a different perspective than the lectures above. This section uses C/C++ syntax.