Структура данных для хранения непрерывных временных интервалов и эффективного обновления и удаления - PullRequest
0 голосов
/ 05 марта 2019

Я нахожусь в поиске структуры данных, предпочтительно в Java, для хранения непрерывных временных интервалов и эффективного обновления и удаления. Эти интервалы могут быть сгруппированы и при выполнении операции группа будет играть роль.

Данные выглядят как

 { [1, 3), [3, 5), [5, 8), [8, 10), [10, 12), [12, 15)... }  
First 3 intervals are Group1 and second 3 intervals are Group2 like continue...

Типичные операции над этой структурой данных будут

  • Добавить новый интервал с в группе: [4, 6)

Результат должен быть:

{ [1, 3), [3, 4), [4, 6), [6, 8), [8, 10), [10, 12), [12, 15)... }
* there is no change is Group 2.
  • Добавить новый интервал через: [4, 6)

Результат: это должно распространяться и на другие группы.

  • Интервал удаления также можно выполнить в группе или из всех групп.

Таким образом, любые изменения в этих интервалах должны толкать или тянуть другие интервалы. Пожалуйста, предложите мне эффективную структуру данных для этого.

...