Структура поиска для обработки будущих событий (на основе времени)

Я ищу эффективную структуру данных, которая позволила бы мне отслеживать события ... то есть у меня будет приложение, в котором в любой момент выполнения возможно, что событие произойдет в будущем точка в исполнении ... что-то вроде:

t = 20: через 420 секунд происходит At = 25: через 13 секунд возникает Bt = 27: через 735 секунд происходит C...

поэтому я хотел бы иметь структуру данных, в которую я могу поместить любое событие в любое время в будущем и где я могу получить и (при этом) удалить все соответствующие события ... также, плюс будет, если я смог удалить событие из структуры данных (потому что оно было отменено) ... не слишком важно, так как я могу просто пометить его как отмененное ...

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

я рассматриваю просто наличие int хэша, отображение временных меток на ноль или стеки событий, которые должны произойти в этот момент времени ... я думаю, в сценариях, с большим количеством событий (возможно, несколько раз в секунду - это то, что я намереваться работать с), это на самом деле не такая уж плохая идея в конце концов ...

так что мне не терпится услышать ваш вклад ... :)

редактировать:

чтобы быть более конкретным: я думаю, что n здесь около 100K-1M, и я думаю, что у меня может быть около 1-100 событий в секунду ...это не имеет особого значения ... это только для иллюстрации того, что будущее событие может быть поставлено в очередь в любое время ...

Спасибо

back2dos