您的位置:首页 > 其它

使用单链表实现LRU缓存淘汰策略

2020-01-12 23:07 531 查看

LRU缓存淘汰策略

什么是LRU缓存淘汰算法

常见的缓存淘汰策略有三种:先进先出策略FIFO(First In,First Out)、最少使用策略LFU(Least Frequently Used)、最近最少使用策略LRU(Least Recently Used)。本章介绍如何使用单链表实现LRU策略。

单链表实现LRU

假设有一个有序单链表,越靠近链表尾部的结点是越早之前访问的。当有一个新的数据被访问时,我们从链表头开始顺序遍历链表。

1.若该数据之前已经被在链表中了,先遍历得到这个数据对应的结点,然后将其从原来的位置删除,再插入到链表的头部。
2.如果此数据不在链表中,分以下两种情况:
A.如果此时缓存未满,则将此结点直接插入到链表的头部;
B.如果此时缓存已满,则链表尾结点删除,将新的数据结点插入链表的头部。

  • 点赞
  • 收藏
  • 分享
  • 文章举报
nanjingitany 发布了2 篇原创文章 · 获赞 0 · 访问量 16 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: