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

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

3天内不再提示

支配世界的十大算法是什么?

ml8z_IV_Technol 来源:未知 作者:胡薇 2018-10-19 08:58 次阅读

事实上,早在公元前 1600 年就已经出现第一条记录在案的数学算法——巴比伦人发现了最早的已知算法,用于分解平方根。因此,回到文章开头我们讨论的问题,我读到的那篇文章将算法视为计算实体,但如果采取这样一个更为宽泛的定义,那么支配世界的十大算法很可能体现为算术方法(例如减法、乘法等)。

算法究竟是什么?

直白地讲,算法是指一切经过明确定义的计算过程,其将某个或者某组值作为输入内容,并产生某个或者某组值作为输出结果。因此,算法代表的是一系列计算步骤,用于将输入转换为输出。

更简单地总结,我们可以将算法视为一系列用于解决某个任务的步骤(是的,不仅仅是计算机会使用算法,人类同样在使用算法)。就目前的标准来看,算法应当具有以下三大重要特征才被视为拥有实际效果:

应该是有限的: 算法应该在有限的时间内用有限的步骤解决掉其旨在解决的问题,也就是说算法必须在有限的时间内可以完成,要不然就没有现实意义。

应该具有明确的指令: 算法中的每个步骤必须经过精确定义 ; 同时应针对每种情况做出明确说明。

应该切实有效: 算法应当能够解决其旨在解决的问题。此外,算法应该被证明可以单纯利用纸笔工具实现收敛。

此外,需要强调的是算法的应用不仅局限于计算科学,同时它也作为一种数学实体。但是,如果采取我们在本文中做出的算法定义,那么问题仍然存在:支配世界的十种算法究竟有哪些?在这里,我列出一份小小的清单,排名不分先后。

1. 合并排序,快速排序与堆排序

对元素进行排序的最佳算法是什么?具体答案取决于你的实际需要,因此我把这三种比较常用的排序算法列为同一类 ; 也许你更偏爱其中一种,但事实上三者都非常重要。

其中合并排序算法是迄今为止我们所拥有的最为重要的算法之一。这是一种基于比较的排序算法,以分治的方法解决原本时间复杂度为 O(n^2) 的问题。该算法由数学家 John von Neumann 于 1945 年发明得出。

快速排序是另一种用于解决排序问题的方法,其能够实现就地分区,同样属于一类分而治之的算法。该算法的问题在于其在排序方面并不稳定,但在对基于内存的数组进行排序时表现出色。

最后是堆排序算法,其利用优先级队列来减少数据中的搜索时间。该算法同样属于就地算法,且同样不属于稳定排序。

2. 傅利叶变换与快速傅利叶变换

整个数字世界都在使用这些简单但非常强大的算法,这些算法能够将信号从时域转换为频域,反之亦然。事实上,正是由于这些算法的存在,本篇文章才能被更多朋友所看到。

3. 迪杰斯特拉算法(又译戴克斯特拉算法)

实事求是地讲,如果没有这种算法,互联网根本无法像今天这样保持高效运作。这种图搜索算法具有多种应用方式,能够将需要解决的问题建模为图,并在其中找到两个节点间的最短路径。

今天,虽然我们已经拥有更好的最短路径问题解决方案,但迪杰斯特拉算法仍然在强调稳定性的众多系统当中得到广泛应用。

4. RSA 算法

如果没有加密与网络安全机制作为保障,互联网的重要程度不可能达到如今的水平。大家可能会想“胡说,国家安全局局和众多情报机构的监控早就毁掉了互联网安全”或者“互联网根本就没有安全可言,傻子才会相信这种安全宣传”; 但必须承认,大多数人仍然具有一定程度的安全信心,否则你根本就不会通过互联网进行消费。毕竟如果真的否定现有网络体系的安全性,谁会愿意在 Web 服务中输入自己的信用卡号码?

在密码学领域,有一种算法仍然是目前世界上最重要的算法之一,这就是 RSA 算法。该算法由 RSA 公司的创始人们开发而成,使得密码学成果得以供世界上的每个人随意使用,甚至最终塑造了当今密码学技术的实现方式。RSA 算法希望解决的问题是如何在独立平台及最终用户之间共享公钥,从而实现加密。

5. 安全哈希算法

这实际上并不是真正的算法,而是由 NIST(美国国家标准技术研究所)所开发的一系列加密散列函数。然而,该算法家族对于世界秩序的维持起到了至关重要的作用。从应用程序商店、电子邮件、防病毒软件再到常用的网络浏览器,这一切都在使用这类算法用以确定你所下载的是否正是你希望获得的内容,或者你是否已经成为中间人攻击或者网络钓鱼攻击的受害者。

6. 整数分解

这是一种在计算领域被大量采用的数学算法。如果没有这种算法,密码学技术的安全水平将受到严重破坏。该算法用于将复合数的质数因子分解为较小的非零因数。这也被称为 FNP 类问题,属于 NP 类问题的扩展,且解决难度极高。

量子计算的诞生大大降低了此类问题的解决难度,并开辟出一个全新的科学研究领域——利用量子特性保障系统安全。

7. 链接分析

在互联网时代下,分析不同实体间的关系当然非常重要。从搜索引擎到社交网络再到营销分析工具,每一方都在努力发现随着时间推移而不断变化的互联网结构。

最后,我想强调一点,虽然很多人认为谷歌公司似乎是第一家使用这种算法的企业,但早在 1996 年(谷歌公司诞生的两年之前),由 Robin Li 开发的 RankDex 小型搜索引擎已经开始利用这一基本思路进行页面排名。最终,HyperSearch 的创始人 Massimo Marchiori 也开始使用这种基于单页间关系的页面排名算法。(谷歌在其申请的专利当中提到了这两位奠基者。)

8. 比例微积分算法

大家应该都体验过飞机、汽车、卫星服务或者手机网络吧?有些朋友还在工厂当中看到过机器人设备。如果是这样,那么你已经见识到了这一算法的威力。

9. 数据压缩算法

很难确定哪种压缩算法的重要性最高,因为根据实际应用需求,大家使用的算法可能包括 zip、mp3 乃至 JPEG 以及 MPEG-2 等等。但相信大家都能清晰地感受到这些算法在各类结构中的重要作用。

除了最直观的文件压缩之外,大家还能在哪里看到压缩算法的踪影?很明显,网页会利用数据压缩技术控制你需要下载的文件体积,此外视频游戏、视频、音乐、数据存储、云计算以及数据库等也都是数据压缩算法大显身手的舞台。可以说,万事万物都离不开数据压缩,这类算法的存在使得系统能够以成本更低且效率更高的方式为用户服务。

10. 随机数生成算法

今天,我们还没有“真正的”随机数生成器,但已经拥有众多完全可以满足需求的伪随机数生成器。这些算法广泛存在于互连链接、加密、安全哈希算法、视频游戏、人工智能、优化、问题条件初始化以及财务等领域。

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

    关注

    23

    文章

    4448

    浏览量

    90721
  • 哈希算法
    +关注

    关注

    1

    文章

    56

    浏览量

    10688

原文标题:真正支配整个世界的十种算法

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

收藏 人收藏

    评论

    相关推荐

    STM32的ADC项目应用,用什么算法滤波和稳定数据抖动?

    STM32的ADC项目应用,大家都用什么算法滤波和稳定数据抖动。 ADC数据的抖动有时候应用在项目上让人很是头疼,什么度娘十大滤波算法也是要斟酌选用。 单片机项目设计中,外设ADC的使用总是少不了的,这也就涉及了相关的
    发表于 04-17 08:20

    Ansys入选“2023世界智能制造十大科技进展”榜单

    近日,2023世界智能制造大会在南京盛大召开,在主题大会期间重磅发布智能制造“双十”科技进展名单,《Ansys AI驱动的工程仿真解决方案》成功入选“2023世界智能制造十大科技进展”榜单*。
    的头像 发表于 12-22 10:28 408次阅读
    Ansys入选“2023<b class='flag-5'>世界</b>智能制造<b class='flag-5'>十大</b>科技进展”榜单

    十大排序算法总结

    排序算法是最经典的算法知识。因为其实现代码短,应该广,在面试中经常会问到排序算法及其相关的问题。一般在面试中最常考的是快速排序和归并排序等基本的排序算法,并且经常要求现场手写基本的排序
    的头像 发表于 12-20 10:39 710次阅读

    竞争全球化,世界范围还有哪些传感器强国?

    来源:紫薇,谢谢 编辑:感知芯视界 Link 传感器是现代科技的前沿技术,被认为是现代信息技术的三大支柱之一,也是全球公认的最具有发展前途的高技术产业。日本把传感器技术列为十大技术之首。日本
    的头像 发表于 12-11 13:41 310次阅读

    机器学习的基本流程和十大算法

    为了进行机器学习和数据挖掘任务,数据科学家们提出了各种模型,在众多的数据挖掘模型中,国际权威的学术组织 ICDM(the IEEE International Conference on Data Mining)评选出了十大经典的算法
    发表于 10-31 11:30 612次阅读
    机器学习的基本流程和<b class='flag-5'>十大</b><b class='flag-5'>算法</b>

    单片机ADC,十大C语言滤波算法

    单片机ADC,十大C语言滤波算法
    的头像 发表于 10-24 15:53 624次阅读

    变频器的十大“酷刑”

    变频器的十大“酷刑”
    的头像 发表于 09-25 08:37 404次阅读

    关于数据挖掘的十种算法原理讲解

    数据挖掘主要分为三类:分类算法、聚类算法和相关规则,基本涵盖了当前商业市场对算法的所有需求。这三类包含了许多经典算法。市面上很多关于数据挖掘算法
    的头像 发表于 09-18 15:00 650次阅读
    关于数据挖掘的十种<b class='flag-5'>算法</b>原理讲解

    一文弄懂数据挖掘的十大算法,数据挖掘算法原理讲解

    数据挖掘主要分为三类:分类算法、聚类算法和相关规则,基本涵盖了当前商业市场对算法的所有需求。这三类包含了许多经典算法。市面上很多关于数据挖掘算法
    的头像 发表于 09-14 15:56 526次阅读
    一文弄懂数据挖掘的<b class='flag-5'>十大</b><b class='flag-5'>算法</b>,数据挖掘<b class='flag-5'>算法</b>原理讲解

    数据挖掘十大算法

    数据挖掘十大算法 数据挖掘是目前最热门的技术和概念之一。数据挖掘是一种利用现代数据分析技术发现、提取和分析数据中有价值信息的过程。数据挖掘可以帮助人们发现数据背后的规律和趋势,从而为业务决策和优化
    的头像 发表于 08-17 16:29 1796次阅读

    植物传感器在列!2023年十大新兴技术发布

    来源:中国战略新兴产业 在夏季达沃斯论坛(世界经济论坛第十四届新领军者年会)上,《2023年十大新兴技术报告》正式公布。 编辑:感知芯视界 世界经济论坛执行董事Jeremy Jurgens介绍
    的头像 发表于 07-13 10:54 659次阅读

    世界经济论坛公布2023年十大新兴技术

    来源:世界经济论坛世界经济论坛宣布了其年度突破性技术榜单,列出最有潜力对世界产生积极影响的十大技术,包括柔性电池、生成式人工智能和可持续航空燃料等。《2023年
    的头像 发表于 06-30 10:09 486次阅读
    <b class='flag-5'>世界</b>经济论坛公布2023年<b class='flag-5'>十大</b>新兴技术

    紫光展锐荣登通信世界“2023年度5G实力榜——5G十大领航企业”

    6月4-6日,第31届中国国际信息通信展览会(PT展)在北京隆重召开。由通信世界全媒体举办的“2023年度5G实力榜”评选结果正式揭榜,紫光展锐凭借在5G领域深厚的创新技术实力荣登“5G十大领航企业”。
    的头像 发表于 06-08 09:14 681次阅读

    C语言经典排序算法总结

    本文将通过动态演示+代码的形式系统地总结十大经典排序算法
    发表于 06-05 10:56 387次阅读
    C语言经典排序<b class='flag-5'>算法</b>总结

    十大常用滤波算法

    在实际的工作中,经常会遇到一些模拟量信号受干扰等情况,为了使系统更加稳健,需要用到一些常见的滤波算法
    的头像 发表于 05-25 14:37 3048次阅读
    <b class='flag-5'>十大</b>常用滤波<b class='flag-5'>算法</b>