
Смысл познать общие принципы, а не зазубрить с точностью до индекса.
Человек не обязан знать все идеально
Хеш — это какая-то функция, сопоставляющая объектам какого-то множества числовые значения из ограниченного промежутка.
«Хорошая» хеш-функция:
Обычно хеш-функция не является взаимно однозначной: одному хешу может соответствовать много объектов. Такие функции называют сюръективными.

Для некоторых задач удобнее работать с хешами, чем с самими объектами. Пусть даны $n$строк длины $m$, и нас просят $q$ раз проверять произвольные две на равенство. Вместо наивной проверки за O($q \cdot n \cdot m$), мы можем посчитать хеши всех строк, сохранить, и во время ответа на запрос сравнивать два числа, а не две строки.
Хешируемые объекты могут быть самыми разными: строки, изображения, графы, шахматные позиции, просто битовые файлы.
В этом разделе мы в основном сфокусируемся на строках.
