老师,LFU缓存置换算法的代码中的疑问

来源:5-8 实现LFU缓存置换算法

慕标2062891

2019-11-16

老师,在LFUCahe的算法中,有个put方法,在没有命中缓存的情况下,判断缓存是否饱和,饱和了就进行删除节点,删除后是不是应该加一个如果该频率的双向链表的大小为0的化,就移除freqMap集合中对应频率的双向链表啊?
在代码的60行

写回答

2回答

Li_fei

2021-03-31

同样拥有该疑惑,当缓存容量已满从最小的频率链表中删除节点后,是否需判断该链表为空且将其删除,不过此处不作操作是否并不影响该算法的正确性

0
0

咚咚呛

2019-11-17

第60行是对缓存容量的判断,当容量为0时,直接返回,这个容量是初始化就定义了的,后续都没有改变,这里只是做好异常的处理,没有必要做你说的操作,你说的这个操作在update_freq这个函数里面有的。

0
0

(新版)计算机基础,计算机组成原理+操作系统+网络

编程之前先学这门课,系统补足计算机基础知识,夯实编程地基

7739 学习 · 1580 问题

查看课程