当前位置: 首页 > news >正文

网站评测的作用做商城网站技术要点

网站评测的作用,做商城网站技术要点,wordpress获取文章图片地址,设计开发控制程序为了实现一个满足 LRU#xff08;最近最少使用#xff09;缓存约束的数据结构#xff0c;我们需要在 (O(1)) 时间复杂度内完成 get 和 put 操作。这通常可以通过结合使用哈希表和双向链表来实现#xff1a; 哈希表#xff1a;用于在 (O(1)) 时间复杂度内实现对缓存中元素…为了实现一个满足 LRU最近最少使用缓存约束的数据结构我们需要在 (O(1)) 时间复杂度内完成 get 和 put 操作。这通常可以通过结合使用哈希表和双向链表来实现 哈希表用于在 (O(1)) 时间复杂度内实现对缓存中元素的快速访问。双向链表用于维护缓存中元素的顺序以便在缓存容量超出限制时能够快速定位并移除最久未使用的元素。 以下是 LRUCache 类的实现 import java.util.HashMap; import java.util.Map;class LRUCache {private class Node {int key;int value;Node prev;Node next;Node(int key, int value) {this.key key;this.value value;}}private final int capacity;private final MapInteger, Node cache;private final Node head;private final Node tail;public LRUCache(int capacity) {this.capacity capacity;this.cache new HashMap();this.head new Node(0, 0);this.tail new Node(0, 0);head.next tail;tail.prev head;}public int get(int key) {Node node cache.get(key);if (node null) {return -1;}// Move the accessed node to the headmoveToHead(node);return node.value;}public void put(int key, int value) {Node node cache.get(key);if (node null) {// Create a new nodeNode newNode new Node(key, value);cache.put(key, newNode);addNode(newNode);if (cache.size() capacity) {// Pop the tailNode tail popTail();cache.remove(tail.key);}} else {// Update the valuenode.value value;moveToHead(node);}}private void addNode(Node node) {node.prev head;node.next head.next;head.next.prev node;head.next node;}private void removeNode(Node node) {Node prev node.prev;Node next node.next;prev.next next;next.prev prev;}private void moveToHead(Node node) {removeNode(node);addNode(node);}private Node popTail() {Node res tail.prev;removeNode(res);return res;}public static void main(String[] args) {LRUCache lruCache new LRUCache(2);lruCache.put(1, 1);lruCache.put(2, 2);System.out.println(lruCache.get(1)); // 返回 1lruCache.put(3, 3); // 该操作会使得关键字 2 作废System.out.println(lruCache.get(2)); // 返回 -1 (未找到)lruCache.put(4, 4); // 该操作会使得关键字 1 作废System.out.println(lruCache.get(1)); // 返回 -1 (未找到)System.out.println(lruCache.get(3)); // 返回 3System.out.println(lruCache.get(4)); // 返回 4} }解释 Node 类用于表示双向链表中的节点包含 key 和 value以及前驱和后继节点的引用。构造函数初始化缓存容量、哈希表、以及双向链表的头尾虚拟节点。get 方法检查缓存中是否存在指定键若存在则将该节点移动到链表头部表示最近使用并返回其值否则返回 -1。put 方法插入新键值对时若键已存在则更新值并移动到链表头部若键不存在则创建新节点并插入链表头部若超出容量则移除链表尾部节点最久未使用。辅助方法 addNode在链表头部插入节点。removeNode从链表中移除节点。moveToHead将节点移动到链表头部。popTail移除并返回链表尾部节点。 这种设计确保了所有操作的平均时间复杂度为 (O(1))。
http://www.eeditor.cn/news/120240/

相关文章:

  • 什么网站可以做平面设计赚钱网站的音乐链接怎么做
  • 世纪城网站建设北京知名企业100强
  • 酒店类的电影网站模板网站首页设计要求
  • 五金机械东莞网站建设网站视觉设计方案
  • 邦邻网站建设网站平台建设方案书
  • 怎么登陆建设工程网站建设工程交易中心网站
  • 惠州外贸网站建设公司做网站有什么注意事项
  • 中国站长网入口wordpress 滑动主题
  • 网站建设方案的需求分析免费logo设计生成器图片
  • 做网站行业怎么样社区门户网站规范化建设
  • 网站开发创业房地产信息网新楼盘
  • 做网站安全认证做淘宝的网站有哪些
  • 网站seo外包保定网站设计
  • 网站源码修复最新新闻热点事件2024摘抄
  • 驻马店做网站的公司建一个网站需要多少钱网站怎么做的
  • 株洲做网站建设商城系统源码
  • 可以用电脑做网站主机吗自学前端怎么学
  • 专业的魔站建站系统互联网企业推广
  • 成都建材网站建设个人养老保险缴费查询
  • 网站建设和维护人员职责网站诚信认证电话销售
  • 建站推荐网站电脑行业网站模板
  • 南阳网站推广效果怎样手机做网站教程
  • 企业建站系统模板宿州官方网站建设
  • 织梦招商加盟网站源码seo网站快速
  • php做网站登陆验证建网站语言
  • 涉县网站建设长春建网站一般多少钱
  • 玉环网站建设公司如何设计一个企业网站
  • 内容型网站网站建设运营成本
  • 现在做网站到底需要多少钱seo免费优化网站
  • 电脑店免费建站海南网络营销