Я хочу хранить объекты, проиндексированные с помощью трех кортежей (String, String, DateTime). Давайте назовем их Идентификатор, Категория, День
Любой объект в структуре данных гарантированно будет уникальным с помощью трех кортежей (без дубликатов)
Структура данных должна поддерживать быстрые ответы на такие вопросы, как:
- Каковы все уникальные идентификаторы?
- Какие категории для идентификатора "xyz"?
- В какие дни идентификатор = "xyz" и категория "mycategory"?
Удаление также возможно. Было бы здорово поддерживать низкий профиль памяти.
В качестве базовой линии я использую Dictionary >>
Теоретически это должно дать мне O (1) поиск, но я не знаком с внутренностями словаря и, как правило, у меня есть ощущение, что мое решение не оптимально.
Я знаю, что, возможно, здесь нет единственно правильного ответа, и я мог бы предоставить множество деталей об использовании, но, возможно, кто-то может просто дать мне несколько идей для игры?
Редактировать
Единственный поиск выполняется с равенством (т.е. identiifer = "xyz"). Я не использую неравенства (больше, меньше, и т. Д.)