> For the complete documentation index, see [llms.txt](https://cs61b-2.gitbook.io/cs61b-textbook/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://cs61b-2.gitbook.io/cs61b-textbook/19.-hashing-i.md).

# 19. Hashing I

- [19.1 Introduction to Hashing: Data Indexed Arrays](https://cs61b-2.gitbook.io/cs61b-textbook/19.-hashing-i/19.1-introduction-to-hashing-data-indexed-arrays.md)
- [19.1.1 A first attempt: DataIndexedIntegerSet](https://cs61b-2.gitbook.io/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](https://cs61b-2.gitbook.io/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](https://cs61b-2.gitbook.io/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](https://cs61b-2.gitbook.io/cs61b-textbook/19.-hashing-i/19.2-hash-code.md): The core mechanism of hashing!
- [19.3 "Valid" & "Good" Hashcodes](https://cs61b-2.gitbook.io/cs61b-textbook/19.-hashing-i/19.3-valid-and-good-hashcodes.md)
- [19.4 Handling Collisions: Linear Probing and External Chaining](https://cs61b-2.gitbook.io/cs61b-textbook/19.-hashing-i/19.4-handling-collisions-linear-probing-and-external-chaining.md)
- [19.5 Resizing & Hash Table Performance](https://cs61b-2.gitbook.io/cs61b-textbook/19.-hashing-i/19.5-resizing-and-hash-table-performance.md)
- [19.6 Summary](https://cs61b-2.gitbook.io/cs61b-textbook/19.-hashing-i/19.6-summary.md)
- [19.7 Exercises](https://cs61b-2.gitbook.io/cs61b-textbook/19.-hashing-i/19.7-exercises.md)
