想要做到O(1)的Get,我们很容易想到
使用哈希表来存储每个key对应的value;要想实现O(1)的Put,并且能当容量满了的时候自动弹出最久未使用的元素,单纯使用哈希表是比较难实现的,因此我们可以使用一个
双向链表,
头部存放最新被使用的节点,
尾部存放最久未使用的节点。那么哈希表只需要
记录key到node的映射,就能让我们快速的追踪到节点在双向链表中的位置。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。