# 19. Hashing I

- [19.1 Introduction to Hashing: Data Indexed Arrays](/cs61b-textbook/19.-hashing-i/19.1-introduction-to-hashing-data-indexed-arrays.md)
- [19.1.1 A first attempt: DataIndexedIntegerSet](/cs61b-textbook/19.-hashing-i/19.1-introduction-to-hashing-data-indexed-arrays/19.1.1-a-first-attempt-dataindexedintegerset.md)
- [19.1.2 A second attempt: DataIndexedWordSet](/cs61b-textbook/19.-hashing-i/19.1-introduction-to-hashing-data-indexed-arrays/19.1.2-a-second-attempt-dataindexedwordset.md)
- [19.1.3 A third attempt: DataIndexedStringSet](/cs61b-textbook/19.-hashing-i/19.1-introduction-to-hashing-data-indexed-arrays/19.1.3-a-third-attempt-dataindexedstringset.md)
- [19.2 Hash Code](/cs61b-textbook/19.-hashing-i/19.2-hash-code.md): The core mechanism of hashing!
- [19.3 "Valid" & "Good" Hashcodes](/cs61b-textbook/19.-hashing-i/19.3-valid-and-good-hashcodes.md)
- [19.4 Handling Collisions: Linear Probing and External Chaining](/cs61b-textbook/19.-hashing-i/19.4-handling-collisions-linear-probing-and-external-chaining.md)
- [19.5 Resizing & Hash Table Performance](/cs61b-textbook/19.-hashing-i/19.5-resizing-and-hash-table-performance.md)
- [19.6 Summary](/cs61b-textbook/19.-hashing-i/19.6-summary.md)
- [19.7 Exercises](/cs61b-textbook/19.-hashing-i/19.7-exercises.md)
