Пытаюсь найти эффективную структуру для работы с данными.
Условия
В структуре хранятся данные следующего формата:
Для структуры определены следующие операции:
* update(id, new_ts) - изменить ts у записи с id = id.
* delete(ts_max) - удалить записи с ts < ts_min
* latest(ts_min) - получить список записей (либо id) с ts > ts_min
В более частном случае можно ограничить задачу до следующих условий:
* update - new_ts строго возрастает и гарантированно больше любого значения ts в структуре:
* delete - отсутствует
Количество операций update и latest имеет будет иметь примерно один порядок, так что пренебречь ни одной не получается.
А теперь
Вопрос:
Не могу придумать, как бы по всем операциям одновременно уложиться в разумное время. Разумным считается < O(N).
Не исключаю, что просто туплю - и поэтому буду рад не только совету, но и критике.
Язык - если вдруг это важно, питон.