O(1)随机插入/删除和O(1)随机访问的数据结构是什么?

Oll*_*ers 3 c performance data-structures

我不知道用于此问题的数据结构.我希望结构具有:

  • 恒定时间插入或删除.
  • 通过id进行恒定时间检索.

实际系统是:

我有一堆对象,每个对象都有一个唯一的id.我的程序需要接收id的请求并返回相关对象.

每当它收到我想要的请求时:搜索结构以查看它是否在那里.如果是,请退货.如果不是,请将其从磁盘加载到内存中(将其放入结构中,以便下次请求时不必使用磁盘)然后将其返回.

我正在使用C.

这是一个类似的问题,但我不确定它是多么相关.

Pas*_*TIN 11

一个哈希表可能是你的情况相当不错的解决方案-即使它不是在O(1)时,有一个colision:这是一个非常有效的解决方案.