Java: как проиндексировать элементы, которые имеют связанный интервал? - PullRequest
4 голосов
/ 30 марта 2011

Предположим, у меня есть несколько объектов с начальным и конечным значением, которые сравнимы через некоторый компаратор.

Какую коллекцию я могу использовать для создания индекса объектов, чтобы при произвольном значении V я мог найти все объекты, где V находится между начальным и конечным значениями?

Я в тупике.

Ответы [ 2 ]

5 голосов
/ 30 марта 2011

См. http://en.wikipedia.org/wiki/Interval_tree. Вы, вероятно, должны игнорировать сложную конструкцию "центрированного дерева", которая появляется там первой, и вместо этого посмотреть на "дополненное дерево", которое является стандартным способом сделать это.

1 голос
/ 30 марта 2011

В некоторых случаях подходящей альтернативой может быть реляционная база данных , возможно, с поддержкой temporal .

...