代码之家  ›  专栏  ›  技术社区  ›  back2dos

用于处理未来事件的查找结构(基于时间)

  •  4
  • back2dos  · 技术社区  · 15 年前

    我正在寻找一个有效的数据结构,这将允许我提示事件…也就是说,我将拥有一个应用程序,在执行中的任何时候,都有可能为将来的执行点引发一个事件……类似:

    • t=20:420秒后,A发生
    • t=25:13秒内,B发生
    • t=27:在735秒内,C发生

    所以我想有一个数据结构,我可以在未来的任何时间,在那里放置任何事件,我可以得到和(通过这样做)删除所有的到期事件…另外,如果我能够从数据结构中删除一个事件(因为它被取消了),一个加号将是……不过不太重要,因为我可以简单地将其标记为已取消…

    我的第一个想法是,也许做一些树,但我想删除正当事件部分需要大量的重新平衡…

    我正在考虑简单地使用int散列,将时间戳映射到空值或将在该时间点发生的事件堆栈…我认为在场景中,有很多事件(可能每秒钟都有多个事件——这就是我要处理的),这毕竟不是一个坏主意…

    所以我很想听听你的意见…:)


    编辑:

    • 更具体地说:我想这里的n大约在100k-1米,我想我可能每秒有1-100个事件…
    • T并不特别重要…这只是为了说明将来的事件可以随时“排队”…

    谢谢

    后台操作系统

    4 回复  |  直到 15 年前
        1
  •  1
  •   flybywire    15 年前

        2
  •  10
  •   Falaina    15 年前
        3
  •  3
  •   Mike Dunlavey    15 年前

        4
  •  2
  •   back2dos    15 年前