采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
你好,老师,就FIFO 和 LRU 的代码来看没什么实质区别啊?
FIFO与LRU最大的不同逻辑在于处理缓存中已有的node的方式,FIFO不去计较map里的数据,有数据来则直接存入缓存;而LRU则是判断准备存入的数据是否在缓存中,如果在则先提取在放入。在FIFO的缓存里,可能存在相同的node key,而LRU明显不可以。LRU相对于FIFO优点是,更高效的利用缓存空间,尽可能的让数据保持在缓存中。
这俩算法最大的区别是,LRU算法中新进来的字块如果已经在队列中了,那么这个字块在队列中的位置提前。但是FIFO不会,也就是说,FIFO不管你是否使用过,你只要是最先进来的字块,你就一定最先出去。
但是看老师写的代码FIFO就是不管是否使用过都置后呀。
什么是实质的区别呢?在代码的世界里,一个符号也能导致巨大的差异。
登录后可查看更多问答,登录/注册
编程之前先学这门课,系统补足计算机基础知识,夯实编程地基
3.4k 17
1.7k 14
1.2k 13
1.4k 11