0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

导致计算机程序的复杂性和多样性的算法

单片机爱好者 2019-01-22 08:40 次阅读

在过去,很多巧妙的计算机算法设计,改变了我们的计算威廉希尔官方网站 。通过操作标准计算机中提供的中间运算符,可以产生很多的高效函数。这些函数导致了计算机程序的复杂性和多样性,这也是今天计算机时代快速发展的重要原因。如下所示,我们列举了一些算法,它们改变了我们的计算机使用。

压缩威廉希尔官方网站

哈弗曼编码

哈弗曼编码在无损数据压缩中广泛应用。为了找到一种最高效的二进制编码,哈弗曼在1951年提出了根据字符频率排序的二叉树这样的编码方法。这种方法被证明,是最有效的编码方法。由于这种方法简单、高效,这种方法被用在很多的压缩方法中比如:DEFLATE(PKZIP压缩软件中的算法),以及很多的多媒体编码包括JPEG和MP3中。

密码学

公共秘钥加密

对于加密算法而言,需要两种不同的秘钥,公共秘钥是用来作为加密的明文或者验证数字签名。私钥则用来解密密文,或生成数字签名。公共秘钥加密使得用户可以在公共信道中安全传送数据。虽然这种方法于1997年发表,但是由英国政府通讯总部(GCHQ)的James H. Ellis, Clifford Cocks, Malcolm Williamson在1973年设计完成,并且投入使用。

搜索算法

Dijkstra 最短路径算法

这一算法由Dijkstra在1956年完成,这是一个为图设计的搜索算法。它解决了单向图中的最短路径问题,因此,也可以用来生成最短路径树。很多基于图的算法中,都应用了这样的算法来进行路径规划或是子路径选择。上图展示了在单向图中,利用这样的算法求最短路径的过程。

二分搜索算法

二分搜索算法用来在已经有序的数组中找到关键字的位置。在说明词义的字典中,词的排列基本是有序的。电话本上,记录也都按照人名、地址或是电话号码排序。通过这样的算法,我们可以由人名,很快地在电话本中找到相应的电话以及地址。

排序算法

快速排序

这种算法由Tony Hoare在1960年设计。这个算法本来用于调整待翻译单词的顺序,从而使它们与词典顺序更加一致,方便翻译。这种算法由于在Unix系统中被用作默认排序算法而声名大噪。同时,这种算法由于它在C语言标准库中的函数名“qsort”而得名。

数学方法

Karatsuba快速相乘算法

这种算法用来更快完成相乘的数学操作。由Anatolii Alexeevitch Karatsuba在1962年提出。它减少了乘法中需要操作的数字,并且提供了一个快速的相乘计算方法。这种算法的改进算法是Toom–Cook算法。然而,对于大数相乘,Schönhage–Strassen 算法则是一种更快速的解决方案。

欧几里得算法(辗转相除)

利用欧几里得算法,可以计算最大公约数。即两个正整数可以被整除的最大数。虽然这种算法只通过减法和比较来找到最大公约数,但是它被应用在了许多高级算法中。欧几里得被认为是这个算法的发明者,欧几里得的这个算法被认为是欧几里得时期(公元前300年左右)最古老的算法之一。

图形学的发展

Bresenham直线算法

这种算法由Jack Elton Bresenham在1962年,他在IBM工作期间提出。这种算法本来用于在计算机屏幕上画出直线。算法用到的操作非常简单,整数的加法,减法和移位操作。这在计算机图形学中是非常先进的方法。基于这样的方法,后来算法又有了一系列的拓展,比如:画圆算法等。由于这种算法的高效、快捷,至今在很多硬件中(比如绘图仪和现代图形卡等)这种算法仍然十分重要并且仍在使用。.

平方根倒数速算法

这种算法提供了一种快速计算平方根的倒数的方法。这种方法在3D图像中广泛应用于确定光线和投影关系,这可能需要每秒上千万次的计算速度。在《雷神之锤三:竞技场》的源代码中就有这样的算法,可是,直到2002年这种算法才被广泛应用。这个算法使用了一系列的简单操作来解决复杂问题。虽然很多人认为,这种算法由John Carmack研发,但是,SGI和3dfx早就曾在产品中应用此算法,当时应用的是Gary Tarolli实现的版本。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 算法
    +关注

    关注

    23

    文章

    4608

    浏览量

    92845
  • 计算机
    +关注

    关注

    19

    文章

    7489

    浏览量

    87876

原文标题:细数那些改变计算威廉希尔官方网站 的伟大算法

文章出处:【微信号:gh_dae0718828df,微信公众号:gh_dae0718828df】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    如何解决汽车制造商多样性价值和复杂性成本的矛盾?

    如何解决多样性价值和复杂性成本之间的矛盾,已成为当今汽车制造商面临的最大挑战之一。电气设计领域对此感受最深,因为“电气系统”几乎受所有设计决策和客户选择的影响。
    发表于 07-18 10:33 1460次阅读
    如何解决汽车制造商<b class='flag-5'>多样性</b>价值和<b class='flag-5'>复杂性</b>成本的矛盾?

    FPGA多样性设计---大神求助!

    各位大神,大家好!小弟我在应用FPGA的过程中我遇到这样一个问题,恳请各位大神指导指导:安全仪控系统由于其安全和可靠的考虑,常常有冗余和多样性的要求。若在仪控系统中使用FPGA中,为实现同样
    发表于 07-22 15:20

    【物联世界】基于计算机视觉方式激光虚拟键盘

    项目名称: 基于计算机视觉方式激光虚拟键盘团队名称:物联世界团队成员:尹桥宣作品演示作品介绍本作品采用全息投影威廉希尔官方网站 ,以计算机视觉方式和图像识别来判断键盘是否有输入。通过设计视觉处理算法,并借用三角
    发表于 01-07 12:06

    多样性和包容与道德规范有何关系?

    和宗教信仰,以及我们对自己和其他人进行识别和分类的无数其他方式。作为人类,我们分享人类的经验。当我们与世界和我们周围的其他人接触时,我们的多样性就会发挥作用。我们没有一个人以完全相同的方式遨游这个世界
    发表于 10-30 08:59

    计算机病毒的特征有哪些

    户双击打开该文件夹时,该病毒将被激活。  5、多样性  由于计算机病毒具有自我复制和传播的特征,再加上蝉”病毒。  1995年,当的结果是病毒时,就产生了这种复杂的“病毒”,幽灵病毒在中国开始流行。典型
    发表于 01-15 16:16

    免疫系统的主组织相容复杂性及其应用

    在模拟免疫系统的主组织相容复杂性的基础上,结合模糊逻辑与扩展阴性选择算法提出了一个基于免疫系统主组织相容复杂性的模糊逻辑综合决策算法,并用该算法
    发表于 05-28 11:01 8次下载

    什么是生物多样性

           什么是生物多样性       中国是世界生物多样性最丰富的国家之一,高等植物30000余种,脊椎动物6347种,均
    发表于 02-16 23:49 1376次阅读

    什么是计算机算法

    什么是计算机算法?要使计算机工作,您就必须编写计算机程序。要编写计算机
    发表于 08-03 08:50 3102次阅读

    基于多样性的推荐算法

    目前大多数推荐算法都是以提高用户对未知商品的预测评分值为主要目标,然而预测准确率并不是增加用户满意度的唯一标准,推荐列表的多样性也是衡量推荐质量的一个重要指标。提出了一种新的推荐方法,旨在提高系统
    发表于 12-06 17:14 0次下载

    基于轨迹形状多样性的隐私保护算法

    针对匿名集内轨迹间的高度相似导致的轨迹隐私泄露问题,提出基于轨迹形状多样性的隐私保护算法。该算法通过轨迹同步化处理的方式改进轨迹数据的预
    发表于 12-17 10:23 0次下载

    基于距离度量的多样性图排序方法

    的不相似.子模优化算法是串行算法不能充分利用诸如Spark等集群计算平台有效提高算法效率.针对这些问题,本文提出一种描述节点间不相似
    发表于 12-19 11:37 0次下载
    基于距离度量的<b class='flag-5'>多样性</b>图排序方法

    组合最优化计算机算法复杂性的PDF电子书免费下载

    本书讨论组合最优化的计算机算法及其复杂性,是计算机和学的基础理论之一。
    发表于 01-04 08:00 19次下载

    AD679:135 MHz BW If多样性数据Sheet

    AD679:135 MHz BW If多样性数据Sheet
    发表于 05-14 13:26 0次下载
    AD679:135 MHz BW If<b class='flag-5'>多样性</b>数据Sheet

    openEuler Summit 2021-分布式/多样性计算分论坛:仿真软件弹性计算分布式多样性

    openEuler Summit 2021-分布式/多样性计算分论坛:仿真软件弹性计算分布式多样性,可以助力基于openEuler的国产电子结构软件走向世界。
    的头像 发表于 11-10 17:34 1603次阅读
    openEuler Summit 2021-分布式/<b class='flag-5'>多样性</b><b class='flag-5'>计算</b>分论坛:仿真软件弹性<b class='flag-5'>计算</b>分布式<b class='flag-5'>多样性</b>

    插入排序算法复杂性、性能、分析

      对于许多数据科学家来说,算法可能是一个敏感的话题。这可能是由于主题的复杂性。“算法”一词有时与复杂性有关。有了适当的工具、培训和时间,即使是最
    的头像 发表于 04-08 14:28 3769次阅读
    插入排序<b class='flag-5'>算法</b>的<b class='flag-5'>复杂性</b>、性能、分析