前言
大家好,我是bigsai,好久不见,甚是想念!
最近有个小伙伴跟我诉苦,说他没面到LRU,他说他很久前知道有被问过LRU的但是心想自己应该不会遇到,所以暂时就没准备。
奈何不巧,这还就真的考到了!他此刻的心情,可以用一张图来证明:
他说他最终踉踉跄跄的写了一个效率不是很高的LRU,面试官看着不是很满意……后来果真GG了。
防止日后再碰到这个坑,今天和大家一起把这个坑踩了,这道题我自身刚开始也是用较为普通的方法,但是好的方法虽然不是很难但是想了真的很久才想到,虽然花了太多时间不太值,总算是自己想出来了,将这个过程给大家分享一下(只从算法的角度,不从操作系统的角度)。
理解LRU
设计一个LRU,你得知道什么是LRU吧?
LRU,英文全称为Least Recently Used,翻译过来就是最近最久未使用算法,是一种常用的页面置换算法。
说起页面置换算法,这就是跟OS关系比较大的了,我们都知道内存的速度比较快&#