设计具有插入(键,值),获取,删除和获取上次访问的键操作的数据结构,每种操作复杂度为O(1)

时间:2018-11-13 15:36:35

标签: algorithm data-structures

我可以使用成员映射创建一个类来存储键,值和堆栈 保持对班级执行的操作的历史记录 对象。但是,棘手的部分是O(1)中的最后一个密钥检索- 如果密钥已删除,我将需要搜索整个密钥 映射中有效密钥的堆栈,在最坏的情况下为O(n)。

例如

insert(a,1)
insert(b,1)
get(a) -> output 1
get_last_key -> output a delete(a)
get_last_key -> output b

有没有更好的方法来设计结构以获得更好的性能?

0 个答案:

没有答案