Скажем, мы просматриваем график и хотим быстро определить, был ли вид node раньше или нет. У нас есть несколько предусловий.
- Узлы отмечены целыми значениями 1..N
- График реализуется с узлами, имеющими список смежности
- Каждое целочисленное значение из 1..N встречается в графе, который имеет размер N
Любые идеи для этого в чисто функциональном ключе (без таблиц Hash или массивов).
Мне нужна структура данных с двумя работающими над ней функциями; add (добавляет встреченное целое число) и lookup (проверяет, добавлено ли целое число). Оба должны предпочтительно брать O (n) время, амортизированное для N повторений.
Возможно ли это?