Мне интересно, знает ли кто-нибудь о структуре данных, которая бы эффективно справлялась со следующей ситуацией:
Структура данных должна хранить несколько, возможно перекрывающихся диапазонов переменной длины, на некоторой временной шкале времени.
-
Например, вы можете добавить диапазоны
a:[0,3], b:[4,7], c:[0,9]
. -
Время вставки не должно быть особенно эффективным.
Retrievals будут принимать диапазон в качестве параметра и возвращать все диапазоны в наборе, которые перекрываются с диапазоном, например:
-
Get(1,2)
вернет a и c.Get(6,7)
вернет b и c.Get(2,6)
вернет все три. -
Ретриенты должны быть максимально эффективными.