欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2023-04-03 10:13:32
算法指解决问题准确而完整的方案描述,是解决问题的清晰指令,用系统的方法去描述解决问题的策略机制。 LRU是算法的一种,那么如何用Python实现以LRU为基础的算法? 此博文讲的就是利用Python实现基于LRU算法的缓存。 缓存 由上图可知,当你在浏览器的输入框输入你想要搜查的资料时,浏览器会给服 ......
大咖20行Python代码玩转算法!涉及到算法就觉得很难?颠覆认知!

 

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

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

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

缓存

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

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

 

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

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

 

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

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

 

LRU算法

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

淘汰逻辑:

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

 

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

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

 

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

20行Python代码实现LRU算法

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

 

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