码迷,mamicode.com
首页 > 编程语言 > 详细

大咖20行Python代码玩转算法!涉及到算法就觉得很难?颠覆认知!

时间:2018-07-07 15:40:35      阅读:198      评论:0      收藏:0      [点我收藏+]

标签:卡顿   访问量   方法   虚拟   个数   页面置换   访问   页面置换算法   多重   

技术分享图片

 

算法指解决问题准确而完整的方案描述,是解决问题的清晰指令,用系统的方法去描述解决问题的策略机制。

LRU是算法的一种,那么如何用Python实现以LRU为基础的算法?

此博文讲的就是利用Python实现基于LRU算法的缓存。

缓存

技术分享图片

技术分享图片

 

由上图可知,当你在浏览器的输入框输入你想要搜查的资料时,浏览器会给服务器发送一个请求,然后服务器经过一系列的运算后,再把数据返回给浏览器。

技术分享图片

 

但是如果有很多的浏览器同时去访问,那么就会有许多重复的操作。这样会造成资源的浪费,时间的浪费,造成卡顿,这显然不是我们想要的。

技术分享图片

 

LRU算法

常用于页面置换算法,是为虚拟页式存储管理服务的。

淘汰逻辑:

技术分享图片

 

缓存是一个列表结构,每一个空格都代表一个缓存容量,显然是8。最顶和最尾都是一个节点,分别为头与尾。

技术分享图片

 

当某个数据访问的次数增加时,就会不断地被移动到列表头部,访问量很少的数据,则会被挤出缓存。

20行Python代码实现LRU算法

技术分享图片

 

Python算法难吗?难,但是不至于触手不及。我们可以从容易的出发,那么路也会越来越宽。

大咖20行Python代码玩转算法!涉及到算法就觉得很难?颠覆认知!

标签:卡顿   访问量   方法   虚拟   个数   页面置换   访问   页面置换算法   多重   

原文地址:https://www.cnblogs.com/q1613161916/p/9277073.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!