算法
Shadow_Walker_yz
这个作者很懒,什么都没留下…
展开
-
MD5算法原理
MD5(单向散列算法)的全称是Message-Digest Algorithm 5(信息-摘要算法),经MD2、MD3和MD4发展而来。MD5算法的使用不需要支付任何版权费用。 MD5功能: 输入任意长度的信息,经过处理,输出为128位的信息(数字指纹); 不同的输入得到的不同的结果(唯一性); 根据128位的输出结果不可能反推出输入的信息(不可逆);转载 2014-11-12 11:42:09 · 297 阅读 · 0 评论 -
常用加密算法比较
对称加密算法(加解密密钥相同)名称密钥长度运算速度安全性资源消耗DES56位较快低中3DES112位或168位慢中高AES128、192、256位快转载 2016-09-10 18:41:33 · 482 阅读 · 0 评论 -
Binary Indexed Trees[二进制索引树]
英文原文链接:链接地址蓝色是笔者注释,高手请忽略简介为了使我们的算法更快,我们总是需要一些数据结构。在这篇文章中我们将讨论二进制索引树(Binary Indexed Tree)。依据Peter M. Fenwick,这个数据结构首先用于数据压缩。现在它多用于存储频率和操作累计频率表。问题定义如下:我们有N个盒子。通常的操作是1. 在第i个盒子中加转载 2016-08-30 10:12:58 · 1446 阅读 · 0 评论 -
算术编码转载2
早在1948年,香农就提出将信源符号依其出现的概率降序排序,用符号序列累计概率的二进值作为对芯源的编码,并从理论上论证了它的优越性。1960年, Peter Elias发现无需排序,只要编、解码端使用相同的符号顺序即可,提出了算术编码的概念。Elias没有公布他的发现,因为他知道算术编码在数学上虽然成 立,但不可能在实际中实现。1976年,R. Pasco和J. Rissanen分别用定长的寄存器转载 2016-07-05 15:53:11 · 714 阅读 · 0 评论 -
算术编码转载1
算术编码是一种无损数据压缩方法,也是一种熵编码的方法。和其它熵编码方法不同的地方在于,其他的熵编码方法通常是把输入的消息分区为符号,然后对每个符号进行编码,而算术编码是直接把整个输入的消息编码为一个数,一个满足(0.0 ≤ n < 1.0)的小数n。1,编码算术编码将整个要编码的数据映射到一个位于[0,1)的实数区间中。并且输出一个小于1同时大于0的小数来表示全部数据。利用转载 2016-07-05 15:51:44 · 1063 阅读 · 0 评论 -
LZW编码
LZW(Lempel-Ziv & Welch)编码又称字串表编码,是Welch将Lempel和Ziv所提出的无损压缩技术改进后的压缩方法。GIF图像文件采用的是一种改良的LZW压缩算法,通常称为GIF-LZW压缩算法。下面简要介绍GIF-LZW的编码与解码方法。例8-5 现有来源于二色系统的图像数据源(假设数据以字符串表示):aabbbaabb,试对其进行LZW编码及解码。解:1)根据图转载 2016-07-13 20:27:21 · 1364 阅读 · 0 评论 -
LZW数据压缩算法的原理分析
我希望通过本文的介绍,能给那些目前不太了解lzw算法和该算法在gif图像中应用,但渴望了解它的人一些启发和帮助。抛砖引玉而已,更希望园子里面兄弟提出宝贵的意见。1.LZW的全称是什么?2. LZW的简介和压缩原理是什么? LZW压缩算法是一种新颖的压缩方法,由Lemple-Ziv-Welch 三人共同创造,用他们的名字命名。它采用了一种先进的串表压缩,将每个第一次出现的串放在一个转载 2016-07-12 19:57:53 · 555 阅读 · 0 评论 -
霍夫曼编码压缩算法
前两天发布那个rsync算法后,想看看数据压缩的算法,知道一个经典的压缩算法Huffman算法。相信大家应该听说过 David Huffman 和他的压缩算法—— Huffman Code,一种通过字符出现频率,Priority Queue,和二叉树来进行的一种压缩算法,这种二叉树又叫Huffman二叉树 —— 一种带权重的树。从学校毕业很长时间的我忘了这个算法,但是网上查了一下,中文社区转载 2016-06-25 17:38:26 · 763 阅读 · 0 评论 -
深入浅出K-Means算法
摘要:在数据挖掘中,K-Means算法是一种 cluster analysis 的算法,其主要是来计算数据聚集的算法,主要通过不断地取离种子点最近均值的算法。在数据挖掘中,K-Means算法是一种cluster analysis的算法,其主要是来计算数据聚集的算法,主要通过不断地取离种子点最近均值的算法。问题K-Means算法主要解决的问题如下图所示。我们可以看到,在图的左转载 2015-12-01 15:23:27 · 366 阅读 · 0 评论 -
有限域GF(2^8)内乘法代码实现以及原理
在密码学中经常用到有限域的乘法,一般在AES中用到的是GF(2^8)有限域内乘法。什么是有限域呢?有限域通俗的讲就是函数的运算结果全都包含在一个域中,不同于实数域,有限域有一个最大值,所有超过这个最大值的数都会经过一定的方法使他回到这个域中,在密码学中应用很广泛,2^8意味着这个域的最大值是256. 以下代码是GF(2^8)有限域内乘法的C代码实现:[c转载 2016-10-26 15:38:46 · 8167 阅读 · 0 评论