注册公司制作网站门户网站建设维护
news/
2025/10/8 15:42:05/
文章来源:
注册公司制作网站,门户网站建设维护,100个免费设计网站,网站建设考题LRU是什么意思
LRU是操作系统底层的一个页面置换算法#xff0c;当空间不够需要换出最长时间没有使用的页面#xff0c;在本题中的意思就是当到达容量上限的时候要换出最长时间没有被访问过的节点。 如何实现
LRU的实现可以使用链表的方式#xff0c;参照MySQL的实现…LRU是什么意思
LRU是操作系统底层的一个页面置换算法当空间不够需要换出最长时间没有使用的页面在本题中的意思就是当到达容量上限的时候要换出最长时间没有被访问过的节点。 如何实现
LRU的实现可以使用链表的方式参照MySQL的实现将热数据每次都放到链表头删除链表尾的冷数据。
题目需要get()和put()方法都是O(1)的事件复杂度但是链表遍历需要O(n)的时间复杂度无法满足题目要求可以想到数组下标索引或者HashMap辅助我们访问本题如果用数组还需要多写一步hash()来确认key存放的位置所以我们使用HashMap。
通过HashMap我们可以快速找到节点也就满足了get()的O(1)但是对于put()的O(1)考虑到我们需要删除节点单链表显然无法满足因为单链表需要O(n)找到前驱节点所以我们修改为双链表。
最终的结构就是HashMap 双链表。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/931663.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!