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

Posted q1613161916

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了大咖20行Python代码玩转算法!涉及到算法就觉得很难?颠覆认知!相关的知识,希望对你有一定的参考价值。

技术分享图片

 

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

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

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

缓存

技术分享图片

技术分享图片

 

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

技术分享图片

 

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

技术分享图片

 

LRU算法

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

淘汰逻辑:

技术分享图片

 

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

技术分享图片

 

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

20行Python代码实现LRU算法

技术分享图片

 

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

以上是关于大咖20行Python代码玩转算法!涉及到算法就觉得很难?颠覆认知!的主要内容,如果未能解决你的问题,请参考以下文章

面试不再怕,20行Python代码帮你搞懂LRU算法

不足20行 python 代码,高效实现 k-means 均值聚类算法

面试 9:用 Java 玩转冒泡排序

玩转算法

由浅入深玩转快速排序算法

Python 一网打尽<排序算法;之从玩转冒泡排序开始