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

建站模板工程造价北京网站域名备案

建站模板工程造价,北京网站域名备案,深圳商城网站,聊天软件开发公司文章目录 一、定义二、LRU模拟实现二、代码实现 一、定义 LRU是Least Recently Used的缩写#xff0c;意思是最近最少使用#xff0c;它是一种Cache替换算法。 Cache的容量有限#xff0c;因此当Cache的容量用完后#xff0c;而又有新的内容需要添加进来时#xff0c; 就… 文章目录 一、定义二、LRU模拟实现二、代码实现 一、定义 LRU是Least Recently Used的缩写意思是最近最少使用它是一种Cache替换算法。 Cache的容量有限因此当Cache的容量用完后而又有新的内容需要添加进来时 就需要挑选并舍弃原有的部分内容从而腾出空间来放新内容。LRU Cache 的替换原则就是将最近最少使用的内容替换掉。 二、LRU模拟实现 146.LRU缓存 下面我们就借力扣的这道题来简单实现一个 题目中要求我们以O1的时间复杂度来完成查找的话我们首先肯定会想到哈希表但又涉及一个问题我们查找完之后还需要更新一下刚刚查找数据的位置将这个数据置为是新的数据我们如何解决查找完改变数据的标识也做到O1呢 要保持高效实现O(1)的put和get那么使用双向链表和 哈希表的搭配是最高效和经典的。使用双向链表是因为双向链表可以实现任意位置O(1)的插入和删除使用哈希表是因为哈希表的增删查改也是O(1)。 需要注意这里最巧的设计就是将unordered_map的value type放成listpairint, int::iterator因为这样当get一个已有的值以后就可以直接找到key在list中对应的iterator然后将这个值移动到链表的头部保持LRU。 二、代码实现 #define _CRT_SECURE_NO_WARNINGS 1 #includeiostream #includelist #includeunordered_mapusing namespace std;class LRUCache {public:LRUCache(int capacity):_capacity(capacity){}int get(int key) {auto ret _hashMap.find(key);//在hash中找到了key存的地方if (ret ! _hashMap.end()) {LtIter it ret-second;//将it移动到_LRUList的头部_LRUList.splice(_LRUList.begin(), _LRUList, it);return it-second;}else {return -1;}}void put(int key, int value) {auto ret _hashMap.find(key);//原来没有key的数据则添加if (ret _hashMap.end()) {//LRU满了删除最近最少使用的就是链表尾部if (_capacity _hashMap.size()) {pairint, intback _LRUList.back();_hashMap.erase(back.first);//删哈希里面//链表里面k存的和哈希的是同一个key_LRUList.pop_back();//删链表尾部}//放入新的数据到链表头部_LRUList.push_front(make_pair(key, value));//哈希表中添加_hashMap[key] _LRUList.begin();}//原来有key的数据则更新else {LtIter it ret-second;it-second value;//将这个位置移到链表头部_LRUList.splice(_LRUList.begin(), _LRUList, it);}}private://链表存kv结构//k为key值v为我们要更新的数据typedef listpairint, int::iterator LtIter;//重命名链表迭代器int _capacity; // 容量大小超过容量则换出保持LRU//_LRUList假设链表头部为最近使用的尾部为最近最少使用listpairint, int _LRUList;//hash中存放的是key值与对应链表迭代器的的映射关系unordered_mapint, LtIter_hashMap;};
http://www.hkea.cn/news/14475353/

相关文章:

  • 建设网站物业经理上岗证陈俊华拆分网站开发
  • 做网站的请示下城区住房和城市建设局网站
  • 杭州网站建设 博客中山精品网站建设价位
  • 超市网站建设方案建设监督网站
  • 巩义网站公司网站右侧浮动
  • 都哪些网站可以做gif小说投稿赚钱的网站
  • 医院设计网站建设网站模板破解版
  • 一元夺宝网站建设费用wordpress 虚拟主机 推荐
  • 2023年没有封闭的网站有哪些东坑镇网站仿做
  • mysql 学习网站动画设计属于什么专业类别
  • 搜索引擎不友好的网站特征怎样做网站平台
  • 做外贸是不是要有网站企业网站风格
  • 卫浴建材网站建设大学的一级或二级域名
  • 设计灵感网站整理建设网站报价单
  • 南山网站设计公司ordown wordpress
  • 计算机网站建设及管理麻将软件开发平台
  • 公司企业网站搭建做棋牌游戏网站赚钱吗
  • 网页设计欣赏网站宁德市城乡建设局网站
  • 网站开发人员名片wordpress上传本地视频
  • 在百度上如何上传自己的网站wordpress自定义登录
  • 免费网站模板代码重庆网站推广大全
  • 网站开发后 怎么换前端最新房地产新闻
  • 学校网站维护楚天网站建设合同
  • h5 php网站开发wordpress页面源代码
  • 做led灯网站有哪些呢网站精神文件建设专栏
  • 可以做渗透的网站电商静态网页模板
  • 关于做网站的简洁的中文wordpress模板
  • 建设部网站查造价师wordpress page post
  • 网站建设网站需求分析报告功能移动商城积分兑换
  • 南京网站建设公司哪家好渭南网站建设网站排名优化