
算法
hpulfc
你好啊 多评论呐~
展开
-
线程同步中的一些锁、条件、信号量的解析
python threading 中的 Lock, RLock, Condition, Semaphore, Event不是目录python threading 中的 Lock, RLock, Condition, Semaphore, EventLockRLockConditionsamephoreevent这些内容主要是用来控制在并发过程中,线程的同步行为的。Locklock 是在控制同步中 常见且基础的对象。通过这个对象可以控制共享资源的串行访问。需要注意: 锁的获取、释放, 防止死锁!f原创 2020-06-18 16:39:44 · 279 阅读 · 0 评论 -
LRU 的实现 双向链表和字典 python
LRU最近最久未使用 ,这里的最久是通过隐式体现的 ,是给一个序列,使用一次,就放前面,没使用就不动。这样的话越久没使用的就越在后面 可以想象看这里的使用一次 指的是 访问一次,更新一次。注意控制大小,并且在插入元素 ,删除元素的时候 缓存体积也变一下问:为什么用双向链表?答:因为在删除的时候可以找到下一次即将删除的节点。并之一删除到尾部的时候注意更新 尾结点代码如下 : 可以直接...原创 2020-07-09 17:03:49 · 433 阅读 · 0 评论 -
阿里面试题 八阵图问题 思路详解 (python 实现)/ 阿里实习生笔试2018编程题之八阵图
题目:八卦阵相传是诸葛亮创设的一种战斗队形和兵力部署,由八种阵势组成。为了方便,采用矩阵描述一个八卦阵,它由八个单阵组成,,每个单阵由多个兵力区域组成一种阵势,如图所示,其中数字为一个兵力区域的士兵个数。假设单阵与单阵之间兵力区域不会相邻,且单阵中兵力区域至少存在一个兵力相邻区域(注:相邻是指再其↖、正上、↗、正右、↘、正下、↙、正左八个方位与其相邻),请用最快的速度计算出八个单阵中的兵力(士...原创 2018-08-08 14:51:39 · 1042 阅读 · 0 评论 -
attention计算过程解析(原理解析)
Attention attention 机制在最近的机器学习中应用广泛,并且在各个模型上都取得了良好成绩。尤其是在机器翻译中,训练出来的模型的翻译质量明显提高了一个层次。这里就简单的说一些attention的原理以及计算过程,主要是attention的计算过程的记录。 首先是基本的attention的计算过程:(这里是逆向解析的) 第一步:计算attention 这里的表...原创 2018-06-27 11:39:34 · 13588 阅读 · 4 评论 -
机器学习-反向传播算法
反向传播算法详细图文教程原创 2018-06-26 15:50:29 · 478 阅读 · 0 评论 -
跳~跳~跳跃表
原文链接:漫画算法:什么是跳跃表?这是发生在很多年以前的故事……几天以前……几天之后……拍卖行的商品总数量有几十万件,对应数据库商品表的几十万条记录。如果是按照商品名称精确查询还好办,可以直接从数据库查出来,最多也就上百条记录。如果是没有商品名称的全量查询怎么办?总不可能把数据库里的所有记录全查出来吧,而且还要支持不同字段的排序。所以,只能提前在内存中存储有序的全量商品集合,每一种排序方式都保存成...转载 2018-06-22 18:33:14 · 412 阅读 · 0 评论 -
约瑟夫环
问题描述:约瑟夫环(约瑟夫问题)是一个数学的应用问题:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列解决思路:1.模拟2.数学推导数学推导,就是f[i] 与 f[i-1] 的关系f[i] = (f[i-1]+m)原创 2017-02-08 18:39:40 · 249 阅读 · 0 评论 -
2016第一篇博客
位运算之某整数二进制中一的个数今天是2016第一天,起得不算太早,但是作为一名Ape 或是一名 Dog ,总是要干点什么,想了想,写一下看到的东西吧 位运算,就是&|~^ >> << 普通的运算为什么要换成位运算呢? 当然是效率呀,一个正整数除以2,与右移是等价的,唯一不同的就是运算的速度有差别,所以对于一些注重运算效率的程序,能用位运算解决就尽量不要用普通运算符解决.原创 2016-01-01 10:36:17 · 450 阅读 · 0 评论 -
MD5算法原理(详细)
MD5MD5(单向散列算法)的全称是Message-Digest Algorithm 5(信息-摘要算法),经MD2、MD3和MD4发展而来。MD5算法的使用不需要支付任何版权费用。 MD5功能: 输入任意长度的信息,经过处理,输出为128位的信息(数字指纹); 不同的输入得到的不同的结果(唯一性); 根据128位的输出结果不可能反推出输入的信息(不转载 2015-07-31 11:15:13 · 774 阅读 · 0 评论 -
MD5 加密算法主思想
MD5算法md5算法的主要思想1.填充使其总位数为512的整数倍(为了后面的信息处理)先求出信息总的位数,,并且以64位的二进制表示,记为M填充内容为0,填充位数=448-(总位数对512求余)然后把M在其后加上.2.加密处理链接变量MD5中有四个32位被称作链接变量(Chaining Variable)的整数参数,分别为:A=0x01234567,B=0x原创 2015-07-31 11:05:44 · 924 阅读 · 0 评论