公用算法(二)-LFU

LFU(Least Frequently Used ,最近最少使用算法)也是一种常见的缓存算法。

思想:如果一个数据在最近一段时间很少被访问到,那么可以认为在将来它被访问的可能性也很小。因此,当空间满时,最小频率访问的数据最先被淘汰。

算法实现策略:考虑到 LFU 会淘汰访问频率最小的数据,我们需要一种合适的方法按大小顺序维护数据访问的频率。LFU 算法本质上可以看做是一个 top K 问题(K = 1),即选出频率最小的元素,因此我们很容易想到可以用二项堆来选择频率最小的元素,这样的实现比较高效。最终实现策略为小顶堆+哈希表。

实现参考:LeetCode #460. LFU缓存.

推荐文章:见系列一.

猜你喜欢

转载自blog.csdn.net/u013947963/article/details/108626789
LFU