美文网首页
哈希表/链表--LRU缓存机制

哈希表/链表--LRU缓存机制

作者: 习惯水文的前端苏 | 来源:发表于2022-03-12 15:20 被阅读0次

\bullet 目录

\bullet 题号

\bullet 思路

    对数据的操作是通过key访问到value,这使用map即可实现快速访问

    最久未使用,表明对数据的增改查操作都会使得目标元素的"优先级"增高,即最近被使用,故,理论上可以使用优先级队列标记每一个哈希元素的优先级,当超过容量后,遍历优先级队列找到优先级最低的那一个进行删除即可

    同时新增、获取、更新都要对优先级做调整,拿获取来说,我们需要先findIndex到指定位置,然后splice掉,最后将元素unshift到头部,这些时间复杂度均比较高,故不算最优实现

    那么,如果是链表的话,就不会有这样的问题了

    故该题的核心是使用哈希表存储key、value,使用链表表示优先级

\bullet 实现

    初始化链表和哈希表

    get

    put

    removeNode和setHead

    结果

相关文章

网友评论

      本文标题:哈希表/链表--LRU缓存机制

      本文链接:https://www.haomeiwen.com/subject/wjacdrtx.html