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

厦门大型网站设计公司做原油的网站

厦门大型网站设计公司,做原油的网站,wordpress开启小绿锁,哪个网站做的w7系统好介绍 LRU的英文全称为Least Recently Used#xff0c;即最近最少使用。它是一种内存数据淘汰算法#xff0c;当添加想要添加数据而内存不足时#xff0c;它会优先将最近一段时间内使用最少的数据淘汰掉#xff0c;再将数据添加进来。 原理 LRU的原理在介绍中就已经基本说…介绍 LRU的英文全称为Least Recently Used即最近最少使用。它是一种内存数据淘汰算法当添加想要添加数据而内存不足时它会优先将最近一段时间内使用最少的数据淘汰掉再将数据添加进来。 原理 LRU的原理在介绍中就已经基本说明过了就是在内存不够用时把最近最少使用的数据淘汰掉 那么它为什么会这么进行淘汰呢其主要思想是最近时间内使用的比较多的数据数据在后面的使用中就大概率还会被被使用而最近使用比较少的数据在后面被使用的概率就比较低。使用这样的淘汰算法在访问内存时就可以提高内存的命中率提高整体系统的速度。 下面来举个例子。假设内存中只能存4个数据。我们依次添加了1234这4个数据在添加完后我访问了3和1随后我继续添加数据加入一个5那么此时淘汰的数据为2因为1和3最近已经使用过了2时最近一段时间内使用最少的数据。流程如下 实现 想要使用程序来实现一个简单的LRU算法可以使用单链表。将一个单链表看成我们的内存每次有数据进来时就在头部添加进来淘汰时就将单链表尾部的最后一个节点淘汰。当每次访问时就把访问的节点移动到头节点。 首先定义链表节点的结构 //定义单链表public static class Node{int val;Node next;Node(){};Node(int val){this.valval;};Node(int val,Node next){this.val val;this.next next;}} 随后定义链表的最大容量和链表的根节点和当前链表中的节点数 public static int size 4;public static int curSize 0;public static Node rootnew Node(0); 再编写向链表添加节点的方法 分为三种情况 情况一链表未满那么这就将该节点插入到链表的头部并将curSize加一。 情况二添加的节点时链表已满此时需要我们将链表的最后一个节点淘汰掉然后该节点插入头部。 /*** 向链表中添加* param val*/public static void LRUAdd(int val){if(curSize0){Node node new Node(val);root.next node ;curSize;}//链表已满else if(curSizesize){Node node new Node(val);node.next root.next;root.next node;Node pre null;Node cur root;while (cur.next!null){pre cur;curcur.next;}pre.next null;}else {Node node new Node(val);node.next root.next;root.next node;curSize;}} 随后编写访问节点的方法访问某节点时会将该节点直接移动到链表头部。 public static void LRUGet(int val){Node node root.next;Node pre root;while(node!null){if(node.valval){break;}pre node;nodenode.next;}if(node.nextnull){Node node1 new Node();node1.next node;node.next root.next;root.next node;pre.next null;}else {pre.next node.next;node.next root.next;root.next node;}node.toString();} 测试例子中的数据 先添加12345这5个数据再访问3和2最后再添加6 可以看到我们成功实现了LRU算法 完成代码 public class Lru {public static int size 4;public static int curSize 0;public static Node rootnew Node(0);public static void main(String[] args) {LRUAdd(1);LRUAdd(2);LRUAdd(3);LRUAdd(4);LRUAdd(5);show();LRUGet(3);show();LRUGet(2);show();LRUAdd(6);show();}//定义单链表public static class Node{int val;Node next;Node(){};Node(int val){this.valval;};Node(int val,Node next){this.val val;this.next next;}}/*** 向链表中添加* param val*/public static void LRUAdd(int val){if(curSize0){Node node new Node(val);root.next node ;curSize;}//链表已满else if(curSizesize){Node node new Node(val);node.next root.next;root.next node;Node pre null;Node cur root;while (cur.next!null){pre cur;curcur.next;}pre.next null;}else {Node node new Node(val);node.next root.next;root.next node;curSize;}}//访问节点public static void LRUGet(int val){Node node root.next;Node pre root;while(node!null){if(node.valval){break;}pre node;nodenode.next;}if(node.nextnull){Node node1 new Node();node1.next node;node.next root.next;root.next node;pre.next null;}else {pre.next node.next;node.next root.next;root.next node;}node.toString();}public static void show(){Node node root.next;System.out.println(当前链表为);while(node!null){System.out.print(node.val );node node.next;}System.out.println();}}
http://www.zqtcl.cn/news/147679/

相关文章:

  • 江西宜春市城市建设档案馆网站朋友圈广告30元1000次
  • 响应式网站 分辨率惊艳的网站
  • 苏州网站公司排名前十最好看的视频免费下载
  • 快速设计一个网站wordpress4.9.6
  • 网站建立教学深圳宝安网站建设公司推荐
  • 深圳企业网站建设制作公司叶县红色家园网站建设
  • 网站制作报价被哪些因素影响建设银行官方网站首页个人登录
  • 免费网站怎么建谁能给个网站谢谢
  • 吴忠网站建设家里面的服务器可以做网站吗
  • 这是我自己做的网站做网站前台要学什么课程
  • 程序网站开发建设隔离变压器移动网站
  • 网站设置不发送消息怎么设置回来用typecho做的网站
  • 网站机房建设嵌入式培训机构哪家好
  • 购物网站页面设计图片网站 签约
  • 上海网站改版方案网站邮件设置
  • 如何在自己网站添加链接高端品牌logo图片
  • 网站建设找c宋南南app软件设计
  • 龙岗网站推广seo 0xu
  • 成都做网站微网站后台录入
  • 开发区网站建设山东房地产新闻
  • 手机如何搭建网站网站菜单导航
  • 网站建设丿金手指专业社交投票论坛网站开发
  • 做一套网站开发多少钱设计高端的国外网站
  • 有没有网站做lol网站的网页设计实验报告书
  • 网站后台域名重庆好的seo平台
  • 文化建设设计公司网站跨境电商亚马逊
  • 建设企业网站官网下载中心游戏网站开发设计报告
  • 外贸网站导航栏建设技巧专做奢侈品品牌的网站
  • 网站开发工程师资格证网站建设代理都有哪些
  • 汕头网站建设技术托管wordpress faq