我正在寻找一个有效的数据结构,这将允许我提示事件…也就是说,我将拥有一个应用程序,在执行中的任何时候,都有可能为将来的执行点引发一个事件……类似:
-
t=20:420秒后,A发生
-
t=25:13秒内,B发生
-
t=27:在735秒内,C发生
-
…
所以我想有一个数据结构,我可以在未来的任何时间,在那里放置任何事件,我可以得到和(通过这样做)删除所有的到期事件…另外,如果我能够从数据结构中删除一个事件(因为它被取消了),一个加号将是……不过不太重要,因为我可以简单地将其标记为已取消…
我的第一个想法是,也许做一些树,但我想删除正当事件部分需要大量的重新平衡…
我正在考虑简单地使用int散列,将时间戳映射到空值或将在该时间点发生的事件堆栈…我认为在场景中,有很多事件(可能每秒钟都有多个事件——这就是我要处理的),这毕竟不是一个坏主意…
所以我很想听听你的意见…:)
编辑:
-
更具体地说:我想这里的n大约在100k-1米,我想我可能每秒有1-100个事件…
-
T并不特别重要…这只是为了说明将来的事件可以随时“排队”…
谢谢
后台操作系统