foundation
Hash tables, Map и Set
Средний O(1) lookup, коллизии, identity ключей и паттерны подсчёта частот.
Hash tables лежат в основе maps и sets, превращая keys в buckets. Average lookup, insert и delete имеют constant time, но memory растет с числом keys, а pathological collisions могут ухудшить поведение. В JavaScript Map предсказуемее сохраняет identity ключей, чем plain object dictionaries.
На интервью: Типовые задачи: two-sum complements, frequency counts, grouping anagrams, first seen indexes, deduplication и visited sets для traversal.
Типовые ошибки: Не игнорируйте memory cost. Явно проговаривайте equality semantics для object keys. Для ordered output помните, что hashing решает lookup, но не sorted order.
Чеклист:
- Выбирайте Map для arbitrary keys.
- Считайте memory как O(k).
- Объясните collision assumptions.
- Отделяйте lookup от ordering.