Поисковые структуры
Сама задача поиска очень абстрактная.
Ассоциативные массивы
Абстрактная структура данных ассоциативный массив (assoc) — структура,
в которой хранятся значения вместе с ассоциированными с ними уникальными ключами.
Задача поиска в этой структуре — найти значение, связанное с данным ключом, или установить, что такого значения в структуре нет.
Формально, нам задано инъективное отображение ассоциации между множеством ключей и множеством значений .
Иногда один ключ может быть связан с несколькими значениями.
Такое расширение ассоциативного массива называется мультиассоциативным массивом (multiassoc).
При поиске возвращается коллекция (итератор, набор) из всех значений, ассоциированных с данным ключом. Если ничего не найдено, то возвращаемая коллекция пустая.
Формально, нам отображение ассоциации превращается в отображение между множеством ключей и булеаном множества значений .
На самом деле структура коллекции может быть разной. Это может быть неупорядоченное множество, а может быть упорядоченный список, и вообще все что угодно.