LRU、LFU、FIFO算法总结

原创 2016年08月29日 21:49:36

一、概述

(1)FIFO:First In First Out,先进先出
(2)LRU:Least Recently Used,最近最少使用
(3)LFU:Least Frequently Used,最不经常使用

  
FIFO表示先进先出,类似于对列,在数据的结构上使用对列来实现。
结构图:

1. 新访问的数据插入FIFO队列尾部,数据在FIFO队列中顺序移动;
2. 淘汰FIFO队列头部的数据;

LRU表示很少使用算法,其核心思想是“如果数据最近被访问过,那么将来被访问的几率也更高”。
最常见的实现是使用一个链表保存缓存数据,结构图如下:



1. 新数据插入到链表头部;
2. 每当缓存命中(即缓存数据被访问),则将数据移到链表头部;
3. 当链表满的时候,将链表尾部的数据丢弃。

 LRU和LFU的区别:
LFU算法是根据在一段时间里数据项被使用的次数选择出最少使用的数据项,即根据使用次数的差异来决定。而LRU是根据使用时间的差异来决定的。

LFU表示最不经常使用的算法,其核心思想是“如果数据过去被访问多次,那么将来被访问的频率也更高”。

结构图:


1. 新加入数据插入到队列尾部(因为引用计数为1);
2. 队列中的数据被访问后,引用计数增加,队列重新排序;
3. 当需要淘汰数据时,将已经排序的列表最后的数据块删除。


参考:http://blog.csdn.net/quitepig/article/details/8045187
http://flychao88.iteye.com/blog/1977653  
http://www.cnblogs.com/dolphin0520/p/3749259.html  
版权声明:本文为博主原创文章,未经博主允许不得转载。学习交流QQ群: 173124648

FIFO、LRU、LFU的含义和原理

题目:请简要介绍FIFO、LRU、LFU的含义和原理 含义: FIFO:First In First Out,先进先出 LRU:Least Recently Used...

缺页中断——FIFO、LRU、OPT这三种置换算法

FIFO、LRU、OPT这三种置换算法的缺页次数2缺页中断  在请求分页系统中,可以通过查询页表中的状态位类确定所要访问的页面是否存在于内存中。每当所要访问的压面不在内存时,会产生一次缺页中断,此时操...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

缓存失效策略(FIFO 、LRU、LFU三种算法的区别)

当缓存需要被清理时(比如空间占用已经接近临界值了),需要使用某种淘汰算法来决定清理掉哪些数据。常用的淘汰算法有下面几种: FIFO:First In First Out,先进先出。判断被存储...

FIFO、LRU、OPT这三种置换算法的缺页次数

考虑下述页面走向:           1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3,6      当内存块数量分别为3时,试问FIFO、LRU、OPT这三种置换算法...

先进先出(FIFO)置换算法

定义        这是最早出现的置换算法。该算法总是淘汰最先进入内存的页面,即选择在内存中驻留时间最久的页面予以淘汰。该算法实现简单,只需把一个进程已调入内存的页面,按先后次序链接成一个队列,并设...
  • luoweifu
  • luoweifu
  • 2013年01月13日 19:05
  • 27144

操作系统FIFO算法

这种题其实不难,主要是你一定要把题目的意思搞清楚,然后再静心的去按题目的顺序去尝试一下就可以了,这里我只给你讲一种情况,只要你理解了其他的情况都是一样的,我相信你只要耐心的看一下肯定会明白的。 ...

FIFO先进先出置换算法

算法过程: 将内存块数组视为队列,在实现的过程中,初始化时,队头指针指向第一个内存块位置,队尾指针指向最后一个内存块位置。每次进行页面置换时,算法总置换当前队头,并且,队头指针循环加1,队尾指针循环...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

深入理解FIFO(包含有FIFO深度的解释)

深入理解FIFO(包含有FIFO深度的解释)   FIFO:   一、先入先出队列(First Input First Output,FIFO)这是一种传统的按序执行方法,先进入的指令先完成并引退...
  • HouQi02
  • HouQi02
  • 2016年06月15日 16:57
  • 20628
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:LRU、LFU、FIFO算法总结
举报原因:
原因补充:

(最多只允许输入30个字)