老师,LFU缓存置换算法的代码中的疑问
来源:5-8 实现LFU缓存置换算法

慕标2062891
2019-11-16
老师,在LFUCahe的算法中,有个put方法,在没有命中缓存的情况下,判断缓存是否饱和,饱和了就进行删除节点,删除后是不是应该加一个如果该频率的双向链表的大小为0的化,就移除freqMap集合中对应频率的双向链表啊?
在代码的60行
写回答
2回答
-
Li_fei
2021-03-31
同样拥有该疑惑,当缓存容量已满从最小的频率链表中删除节点后,是否需判断该链表为空且将其删除,不过此处不作操作是否并不影响该算法的正确性
00 -
咚咚呛
2019-11-17
第60行是对缓存容量的判断,当容量为0时,直接返回,这个容量是初始化就定义了的,后续都没有改变,这里只是做好异常的处理,没有必要做你说的操作,你说的这个操作在update_freq这个函数里面有的。
00