小慕正在开发一个项目,需要实现一个简单的缓存管理系统。在这个系统中,当缓存空间已满且需要存储新数据时,就必须淘汰某些数据。其中,是一种关键的缓存淘汰策略。 LRU缓存管理策略的核心思想是:优先保留最近访问过的数据,并淘汰最久未被使用的数据。小慕需要实现一个简单的LRU缓存管理系统,支持查询、插入和删除操作。 最久未被使用的定义: 每次执行查询、插入或删除操作时,都视为对数据的一次访问。每个数据都记录最后一次被访问的时间,按照访问时间排序,最久未被使用的数据排在最前面。 插入操作 (`A a_i`): 若数据`a_i`已在缓存中,则。 若数据`a_i`不在缓存中,则插入该数据;如果缓存已满,则淘汰最久未被使用的数据。 查询操作 (`Q a_i`): 若数据`a_i`存在,则刷新其存储时间;否则,缓存不发生变化。 删除操作 (`D a_i`): 若数据`a_i`在缓存中,则将其删除;否则,缓存不发生变化。
提示:带虚线的词点一下有通俗解释。
时间限制 1000 ms · 内存限制 128 MB