uvelichitel
@uvelichitel
habrahabr.ru/users/uvelichitel

Структура данных для кругов Эйлера?

Есть сущности, объединенные в множества тегами. Одна сущность может маркироваться несколькими тегами. Подскажите структуру данных позволяющую делать запросы Тег1+Тег2-Тег3 за константное время(возможно с out_of_process балансировкой структуры).
Если такая структура возможна, то ее ориентировочный memory_layout(на бумаге круги Эйлера выглядят привлекательно, но как их уложить в одномерную последовательную память/файл)
Профиль нагрузки - 1000 элементов, 100 тегов, чаще чтение чем запись.
Для key-value store например:
  • структура данных - dictionary/associative_array
  • memory layout - sparse_array

а для tags-values?
  • Вопрос задан
  • 374 просмотра
Пригласить эксперта
Ответы на вопрос 2
longclaps
@longclaps
Ответ написан
Комментировать
sgjurano
@sgjurano
Разработчик
Классический подход к решению этой задачи - булев индекс:
map[tag]set[id]
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы