变革计算领域的9个伟大算法:霍夫曼编码快速排序...
Posted 程序猿
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了变革计算领域的9个伟大算法:霍夫曼编码快速排序...相关的知识,希望对你有一定的参考价值。
本文由程序猿编译团队-薇WEI 编译
原文来自:http://www.docsity.com/en/news/interesting-facts/great-algorithms-revolutionized-computing/
几十年来,许多精巧的计算机算法给计算领域带来了重大变革。这些算法在标准计算程序中操作中间运算符,产生出各种不同的高效函数,从而用于编制各种错综复杂的计算机程序,成为推动如今计算机发展的主要动因。下面列举了一些改变计算机使用的计算算法。
1、压缩技术
霍夫曼编码(HuffmanCoding)
该算法广泛应用于无损数据压缩。David A.Huffman一直在寻找最高效的二进制编码,于1951年提出基于有序频率二叉树编码的想法,事实也证明这是最高效的编码方式。由于简单高效,该编码算法被应用于各种压缩技术如DEFLATE (PK压缩算法)和多媒体编码如JPEG和MP3.
2、密码学算法
公钥加密算法
指需要两套独立钥匙的加密算法,公钥用于解密明文或者核实数字签名,私钥则用于解密密文或者生成数字签名。公钥加密技术帮助用户在公共频道安全交流。1997年有公开消息称,该算法由英国政府通信部门(GCHQ)的James H.Ellis, Clifford Cocks和 Malcolm Williamson于1993年在联合秘密设计并于同年投入使用。
3、检索算法
Dijkstra's算法 (Dijkstra's algorithm)
1956年由Edsger Dijkstra开发,是一种图检索算法,解决了图单源点最短路径问题,并由此产生了最短路径树。该算法被广泛应用于各种图算法的路径或者子路径。运用这种算法,单张图表上的最短路径便能轻松算出(如上图)
4、二进制检索算法
5、排序算法
快速排序
1960年由TonyHoare开发,用于为需要转化的字排序,以便为已排序的代码字典提供便捷匹配。该算法作为默认的库排序函数(并于该标准C库函数中被命名为gsort)被应用于UNIX系统并因此名声大噪.
6、数学算法
Karatsuba算法
是一种快速乘法,由Anatolii Alexeevitch Karatsuba于1962年开发。该算法减少了相乘的数段并提供更快捷的乘法。Toom–Cook算法将该算法做了改进,但对于大数乘法来说Schönhage–Strassen算法则是更高效的方案。
7、欧几里德算法
最大公约数,也就是能同时分别被两个正整数除尽的最大整数,可由欧几里德算法算出。该算法只应用减法和对照方法找出最大公约数,因此总固定被用于许多高级算法领域。该算法让欧几里德享有盛誉,也被誉为是公元前300年欧几里德时代最古老的算法。
8、图形学的突破性发展
Bresenham直线算法
1962年由IBM的JackElton Bresenham设计,用于为电脑屏幕画出直线。该算法应用简单的整数加减法和位移操作,是计算机图形学的先锋技术,并由此延伸出诸如能画圆的函数的算法。该直线算法便捷高效,在如今的硬件领域仍很重要并沿用,如绘图仪器和现代图形卡。
9、平方根倒数快速算法
该算法用于快速计算积的平方根的倒数,用在3D图形程序中确定光线和投影效果(涉及每秒成千上万次的计算),1999年在《雷神之锤III竞技场》源代码中应用, 2002年才被广泛使用。该算法用一系列简单技术解决复杂的运算,虽由JohnCarmack开发,但最早在Silicon图形学和3dfx中就有所应用,当时用的是Gary Tarolli的执行方案。
●本文编号1364,以后想阅读这篇文章直接输入1364即可。
●本文分类“算法”,搜索分类名可以获得相关文章。
●输入m可以获取到全部文章目录发人员。
算法与数据结构↓↓↓
黑客技术与网络安全↓↓↓
以上是关于变革计算领域的9个伟大算法:霍夫曼编码快速排序...的主要内容,如果未能解决你的问题,请参考以下文章