【发布时间】:2017-11-08 16:47:16
【问题描述】:
我正在尝试创建一个以恒定时间运行并遵循最近最少使用的驱逐策略的缓存。它使用哈希映射来存储数据,并使用链表来跟踪请求数据的顺序。头部是最近最少请求的,尾部是最近请求的。
除了当用户请求一个已经在缓存中的项目并且链表必须从列表中删除该项目并将其添加为尾部时,一切都在 O(1) 中工作。我如何实现一个系统,可以使最近请求的项目已经在缓存中,因此链表,O(1) 中的尾部?
【问题讨论】:
-
如何让哈希映射在恒定时间内工作?
标签: java linked-list hashmap time-complexity