Оптимальным решением было бы использовать двоичные деревья как зарекомендовавший себя алгоритм с уравновешенными качественными характеристиками. Поскольку время вставки не так критично, как время доступа, подойдет обычная реализация дерева с балансировкой во время изменений структуры.
1.Если совпало, вернуть значение
2.Получить список полей
3.Вызвать оператор эквивалентности
4.Взять ключи записей
5.Начать перебор значений в структуре
6.Найти корзину по адресу
7.Вычислить хэшкод значений
8.Выполнить поворот дерева
9.Проверить балансировку дерева
10.Проверить наличие значений в корзине
Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет
Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет