算法

常用算法之分治法

分治法概念 分治法(divide-and-conquer)字面上的解释是“分而治之”,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。分治有两个特点: 子问题相互独立且与原问题形式 ...
19 sec read

StackOverflow问答排名算法

先前的文章介绍了StackOverflow的系统架构,这次继续排序话题,学习的是StackOverFlow的排序算法。
16 sec read

加密解密算法之RSA

在了解RSA之前,需要先要对对称加密和非对称加密有个初步的了解。对称加密就是加密和解密使用同一个密钥。对称加密快而且方便,但是有个缺点,密钥容易被偷或被破解。非对称算法把密钥分成两个,一个自己持有叫私钥,另一个发给对方,还可以公 ...
1 min read

加密解密算法之Base64x

在程序开发中,我们会经常使用Base64对字符串或二进制数据进行编码解码,虽然字符串在经过Base64编码后看上去很像被加密过,但是并不能成为加密解密算法,原因是Base64的编码解码过程非常的简单,且编码解码的流程的算法是公开的,起不到任何加密的效果。 ...
6 sec read

加密解密算法之AES

数据加密标准(Data Encryption Standard: DES)的密钥长度是56比特,因此算法的理论安全强度是256。但二十世纪中后期正是计算机飞速发展的阶段,元器件制造工艺的进步使得计算机的处理能力越来越强,DES将不能提供足够的安全性。1997年1月2号,美国国家 ...
55 sec read

加密解密算法之DES

美国国家标准局1973年开始研究除国防部外的其它部门的计算机系统的数据加密标准,于1973年5月15日和1974年8月27日先后两次向公众发出了征求加密算法的公告。加密算法要达到的目的(通常称为DES 密码算法要求)主要为以下四点:
1 min read

加密解密算法之RC4

RC4加密算法是一种对称加密算法。所谓对称加密算法,说得直白一点,就是加密与解密的过程一模一样。假设定义RC4的运算过程是rc4(key,data),那么,密文=rc4(key,明文),明文=rc4(key,密文)。所以,对一段数据迭代地做奇数次RC4运算,就得到密文,对这段数 ...
24 sec read

城际多方式出行路径规划思考

目前,城际出行都面临着交通信息分散、路线规划单一的问题。用户在时需要自行比对和预订机票、火车票等,不仅涉及到不同系统的切换,如何选择也是对于用户出行决策的考验。
42 sec read

路径规划常见算法整理

Dijkstra算法 Dijkstra 算法是一种用于计算带权有向图中单源最短路径(SSSP:Single-Source Shortest Path)的算法。其解决的问题是:给定图 G 和源顶点 v,找到从 v 至图中所有顶点的最短路径。Dijkstra 算法采用贪心算法(Greedy Algorithm)范式进行 ...
43 sec read

字符串hash函数

什么是Hash? Hash,一般翻译做“散列”,也有直接音译为"哈希"的,就是把任意长度的输入(又叫做预映射, pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同 ...
45 sec read

使用余弦定理计算文本相似度

什么是余弦定理 学过向量代数的人都知道,向量实际上是多维空间中有方向的线段。如果两个向量的方向一致,即夹角接近零,那么这两个向量就相近。而要确定两个向量方向是否一致,这就要用到余弦定理计算向量的夹角了。 余弦定理对我们每个人都不陌生, ...
13 sec read

SegmentFault问答排序算法

SegmentFault 参考了Stack Overflow的热门算法设置了自己的排序算法,具体排序算法如下:
6 sec read