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