美文网首页码农的世界python热爱者程序员
大咖20行Python代码玩转算法!涉及到算法就觉得很难?颠覆认

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

作者: Python新世界 | 来源:发表于2018-07-07 15:11 被阅读5次

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

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

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

缓存

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

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

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

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

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

LRU算法

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

淘汰逻辑:

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

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

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

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

20行Python代码实现LRU算法

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

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

相关文章

网友评论

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

    本文链接:https://www.haomeiwen.com/subject/apwwuftx.html