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

十大免费cms建站系统介绍做网站淘宝条形码

十大免费cms建站系统介绍,做网站淘宝条形码,中间商可以做网站吗,鄞州区优秀营销型网站建设首选算法通俗讲解推荐阅读 【算法–链表】83.删除排序链表中的重复元素–通俗讲解 【算法–链表】删除排序链表中的重复元素 II–通俗讲解 【算法–链表】86.分割链表–通俗讲解 【算法】92.翻转链表Ⅱ–通俗讲解 【算法–链表】109.有序链表转换二叉搜索树–通俗讲解 【算法–链表…

算法通俗讲解推荐阅读
【算法–链表】83.删除排序链表中的重复元素–通俗讲解
【算法–链表】删除排序链表中的重复元素 II–通俗讲解
【算法–链表】86.分割链表–通俗讲解
【算法】92.翻转链表Ⅱ–通俗讲解
【算法–链表】109.有序链表转换二叉搜索树–通俗讲解
【算法–链表】114.二叉树展开为链表–通俗讲解
【算法–链表】116.填充每个节点的下一个右侧节点指针–通俗讲解
【算法–链表】117.填充每个节点的下一个右侧节点指针Ⅱ–通俗讲解
【算法–链表】138.随机链表的复制–通俗讲解
【算法】143.重排链表–通俗讲解


通俗易懂讲解“LRU缓存”算法题目

一、题目是啥?一句话说清

设计一个LRU缓存,支持get和put操作,当缓存满时淘汰最久未使用的数据,且get和put操作的时间复杂度必须是O(1)。

示例:

  • 初始化:容量为2
  • put(1, 1) → 缓存: {1=1}
  • put(2, 2) → 缓存: {1=1, 2=2}
  • get(1) → 返回1,缓存: {2=2, 1=1}(1被访问,移到前面)
  • put(3, 3) → 缓存满,淘汰2,缓存: {1=1, 3=3}

二、解题核心

使用哈希表+双向链表。哈希表保证get操作O(1),双向链表维护使用顺序(最近使用的在头,最久未使用的在尾),保证put操作O(1)。

这就像有一个字典(哈希表)可以快速找到物品,还有一个排队队列(双向链表)记录物品的使用顺序,新用的或刚访问的放到队头,队尾的就是最久未用的,满了就淘汰队尾。

三、关键在哪里?(3个核心点)

想理解并解决这道题,必须抓住以下三个关键点:

1. 哈希表的快速查找

  • 是什么:哈希表存储键到双向链表节点的映射,通过键可以立即找到对应的节点。
  • 为什么重要:这使得get操作可以在O(1)时间内完成,因为我们不需要遍历链表来查找节点。

2. 双向链表的顺序维护

  • 是什么:双向链表按使用顺序排列节点,最近使用的节点在头部,最久未使用的在尾部。
  • 为什么重要:当需要淘汰时,我们可以直接删除尾部节点;当访问或添加节点时,我们可以将其移到头部,这些操作都是O(1)。

3. 节点操作的原子性

  • 是什么:在get和put操作中,需要将节点移到链表头部,这涉及删除节点和添加节点的操作。
  • 为什么重要:这些操作必须正确更新节点的前后指针,否则会导致链表断裂或错误。同时,哈希表必须与链表同步更新。

四、看图理解流程(通俗理解版本)

假设缓存容量为2,操作序列如下:

  1. 初始化:缓存为空,双向链表为空,哈希表为空。

    • 链表:头 ←→ 尾(虚拟节点)
  2. put(1, 1)

    • 创建节点(1,1),添加到链表头部。
    • 哈希表记录键1指向该节点。
    • 链表:头 ←→ [1] ←→ 尾
  3. put(2, 2)

    • 创建节点(2,2),添加到链表头部。
    • 哈希表记录键2指向该节点。
    • 链表:头 ←→ [2] ←→ [1] ←→ 尾
  4. get(1)

    • 通过哈希表找到节点[1]。
    • 将节点[1]从链表中删除(断开连接),然后添加到头部。
    • 链表:头 ←→ [1] ←→ [2] ←→ 尾
    • 返回1。
  5. put(3, 3)

    • 缓存已满(容量2),需要淘汰最久未使用的节点[2](在尾部)。
    • 删除节点[2],并从哈希表中移除键2。
    • 创建节点(3,3),添加到链表头部。
    • 哈希表记录键3指向该节点。
    • 链表:头 ←→ [3] ←→ [1] ←→ 尾

五、C++ 代码实现(附详细注释)

#include <iostream>
#include <unordered_map>
using namespace std;// 双向链表节点定义
struct DLinkedNode {int key, value;DLinkedNode* prev;DLinkedNode* next;DLinkedNode() : key(0
http://www.dtcms.com/a/510979.html

相关文章:

  • 一个网站的制作特点福田网站建设论文结论
  • 廊坊建设局网站做封面电脑网站
  • 外贸网站如何做推广多少钱郑州网站推广外包地址
  • 网站建设商城模板哈尔滨网络科技公司哪家好
  • 建设鲜花网站前的市场分析优化排名软件
  • 网站变appwordpress查看原图
  • 为网站网站做代理怎么判wordpress的MD风格主题
  • 网站建设分哪些类别wordpress个人站无法升级
  • 做网站怎么找公司科技展厅设计方案
  • 长春建站宣传做国外wordpress賺钱
  • 桐乡市城市规划建设局网站c 可以做网站吗
  • 网站推广方法汇总网站申请支付宝支付
  • 响应式网站好处市场体系建设司在官方网站
  • 工作汇报ppt免费模板昆明官网seo费用
  • 静态淘宝网站制作模板做网站要买什么
  • 成都网站建设 木木科技可信网站网站认证
  • 帮人做网站分类目录 wordpress
  • 目前网站建设主流技术架构企业网站制作报价单
  • 建设部网站从哪登陆长春房产网官网
  • 合肥微网站杭州建管网
  • 网站上传的视频播放卡wordpress文章末尾添加评价功能
  • 在国外做网站推广wordpress 主页地址
  • 网站需要续费吗嘉定网站开发
  • 三里河网站建设怎么建好网站
  • 做教育网站挣钱网站首页排名没了
  • 站长工具5gseo1搬到哪里去了
  • ppt免费下载完整版免费下载seo范畴有哪些
  • dw网站导航怎么做公司邮箱价格
  • 如何给自己的公司网站做优化wordpress仪表盘空白
  • 网站备案所需资料小程序专区