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

哪里有做效果图的网站常见的搜索引擎有哪些?

哪里有做效果图的网站,常见的搜索引擎有哪些?,手机网站开发存储数据,找灵感的网站LRU缓存是一种满足最近最少使用约束的数据结构。我们可以用一个简单的例子来理解:假设你有一摞书,最多只能放capacity本。当你需要找一本书时,如果书在摞中,就返回它的版本(即key-value);如果不…

        LRU缓存是一种满足最近最少使用约束的数据结构。我们可以用一个简单的例子来理解:假设你有一摞书,最多只能放capacity本。当你需要找一本书时,如果书在摞中,就返回它的版本(即key-value);如果不在,就返回-1。当你想放入一本新书时,如果这本书已经存在,就更新它的版本号;如果不存在,就把新书放在最上面。如果书的数量超过了capacity,就把最下面那本书移出。

                                                        

        那么,在这个例子中,我们主要用到了哪些操作呢?又该用什么数据结构来实现呢?由于题目要求get()和put()的时间复杂度为O(1),并且需要同时存放key-value,还要删除最久未使用的元素,因此可以使用双向链表来解决。具体来说,我们主要用到了以下操作:

        1.删除

        将一个节点删除

        2.将节点放在最前面

 

        3.快速找出要找的节点

        使用哈希表,用key与节点作映射

 

class Node {
public:int key;int value;Node *prev;Node *next;Node(int k = 0,int v = 0):key(k),value(v){};
};class LRUCache {
public:int capacity = 0;Node *dummy;unordered_map<int,Node*> key_to_node;//删除节点void remove(Node *x) {x->prev->next = x->next;x->next->prev = x->prev;}//将节点放在最前void push_front(Node *x) {x->prev = dummy;x->next = dummy->next;x->next->prev = x;x->prev->next = x;}//获取节点Node* getNode(int key) {auto it = key_to_node.find(key);if (it == key_to_node.end()) {return nullptr;}Node *node = key_to_node[key];remove(node);push_front(node);return node;}LRUCache(int capacity) : capacity(capacity),dummy(new Node()) {dummy->next = dummy;dummy->prev = dummy;}int get(int key) {Node *node = getNode(key);return node ? node->value : -1;}void put(int key, int value) {Node *node = getNode(key);if (node) {node->value = value;return;}key_to_node[key] = node = new Node(key,value);push_front(node);if (capacity < key_to_node.size()) {//最久未使用节点Node *back_node = dummy->prev;key_to_node.erase(back_node->key);remove(back_node);//释放内存delete back_node;}}
};

        时间复杂度:O(1)

        空间复杂度:O(min(p,capacity),p为put的次数

http://www.dtcms.com/wzjs/69725.html

相关文章:

  • 张家港网站建设培训学校营销策略ppt模板
  • 做感恩网站的图片素材自媒体怎么赚钱
  • 大学做机器人比赛的网站论坛曲靖seo建站
  • 武汉网站搭建百度官方推广
  • 郑州郑东新区网站建设网络宣传方案
  • 页面设计图标浙江seo
  • 网站建设一般需要多少费用一站式软文发布推广平台
  • 网站招聘方案怎么做企业广告宣传
  • 网页投放广告怎么收费seo长尾关键词
  • 建设部网站水利造价师企业网站设计服务
  • WordPress登录美化扁平化宁波seo服务推广
  • 哈尔滨网站建设那家好淘宝流量平台
  • 营销型网站开发流程包括关键词自动生成器
  • 免费域名证书申请搜狗seo快速排名公司
  • 有什么做设计的兼职网站数字营销课程
  • 备案网站大全网站运营推广
  • 做的公司网站怎么没了百度搜索排名推广
  • html 网站 模板seo搜索优化是什么意思
  • 校园二手交易网站开发网络服务主要包括
  • 南通网站开发公司免费建站哪个比较好
  • 做网站 报价 需要了解快速提高排名
  • 龙华营销型网站建设苏州百度快照优化排名
  • 集美网站开发上海百度推广公司排名
  • 大连h5开发公司西安seo培训
  • 做卫浴软管的网站注册域名
  • 惠州制作公司网站线上渠道推广怎么做
  • 如何做下载网站赚钱网络营销环境
  • 泉州人才网石家庄seo外包的公司
  • 中国十大网站建设企业制作一个网站需要多少费用
  • vps云服务器佛山seo整站优化