算法自古以来就被使用。第一个有记录的算法可以追溯到公元前1800年左右。它解释了计算不同值(包括平方根)的特定程序。寻找最大公约数的算法最早是在公元前300年由欧几里得提出的。我们列出了7种负责运行当今世界的算法,看看下面的列表,让我们知道你的想法!
网页排名
PageRank是帮助谷歌成为今天这样的算法。这是谢尔盖·布林(Sergei Brin)和拉里·佩奇(Larry Page)在20世纪90年代末为互联网上的网页建立索引和排名而开发的第一个算法。它随后被用于为新的谷歌搜索引擎提供动力。
PageRank的基本目标是为页面的权威性确定一个分数。它通过考虑链接到它的页面的权威分数来做到这一点。因此,如果有更多的权威页面链接到一个页面,它的权威分数就会增加。PageRank现在是谷歌用于排名网页的200个指标之一,但仍然是一个重要的驱动力。
密钥交换加密
你如何确保街角的扩音器上播放的所有人都能听到的信息的安全?这有点类似于网络通信流量所面临的挑战。这些通信可以被拦截和读取。这就是密钥交换加密算法的用武之地。这就是它的工作原理;
- 双方,A和B,选择一个号码,不与任何人共享(私钥)。
- 一方通过公共信道(公钥)宣布一个随机数。
- 双方申请私号作为公号的指数,并获得结果。
- 然后双方交换不同的结果。
- 然后,双方将各自的私有号码作为交换结果的指数。
- 双方的值相同,可用于加密通信。
由于没有人在公共通道上共享私钥,因此任何人都几乎不可能确定用于加密通信的值。(A^n)^m和(A^m)^n总是会得到完全相同的结果。私钥是m和n,而公钥是a。密钥交换算法的结构是更高级加密(如RSA加密)的基本特征。
反向传播
在过去的50年里,最重要的算法之一是通过神经网络进行反向传播。在不深入研究神经网络如何运行的细节的情况下,我们将讨论反向传播。假设你喂了一个狗的图像;神经网络最终会选择狗、猫、老鼠和人类婴儿。每个选项都有一个概率,概率最高的选项被选为答案。反向传播是错误通过神经网络并通过导致错误答案的连接反向传播。它会做出调整,降低分配给错误答案的概率。随着时间的推移,神经网络可以通过学习它不是什么来了解它是什么!没有反向传播,深度学习神经网络就不会存在。
压缩
啊,压缩算法。压缩的基本思想是利用引用和偏移量,而不是使用更少的空间来表示数据。假设您有一串需要压缩的字符,ABCCABCCABACABACABACDDDBDB。它有26个字符长。但是,如果您像ABCC2ABAC3D2DB2那样编写它,那么它只有15个字符长,其中每个数字告诉您需要打印字符串的次数。
虽然这听起来不多,但我们已经将字符串所需的内存减少了大约40%。对于gb大小的文件,40%的内存节省是巨大的。正是压缩使我们能够进行有效的信息传输和存储。
搜索和排序算法
搜索和排序是一种特殊的算法,因为有各种各样的技术用于对数据集进行排序或在一个数据集中搜索特定值。这些算法的使用基于您正在处理的数据集的类型以及数据集的组织方式。例如,在字典中使用二分搜索是可取的,而如果您正在寻找最高或最低的值,则建议使用堆排序双精度。这些算法用于各种处理数据的程序,程序员经常使用它们。
Dijkstra最短路径
这个特定的算法是一种用于图的搜索算法,但它具有特殊的价值,因为它不同于其他搜索算法。根据Edsger Dijkstra的说法,1959年在荷兰,他坐在他的fiancé上喝咖啡,当时他想出了一个算法,可以向非计算机观众展示他正在使用的计算机系统的能力。他把64个城市画在一张图上,每个城市用一个节点表示,并画出不同的路径,这些路径被称为这些城市之间的边。他将一个节点标记为鹿特丹,另一个节点标记为格罗宁根and,并开发了一种算法,可以找到这两个节点之间的最短路径。
该算法是使用最广泛的算法之一,可以实现GPS路由、信号路由、在全国范围内运送包裹等功能。
TCP/IP路由协议算法
这就是互联网对自己的看法!当它最初被开发出来时,传输控制协议/互联网协议(TCP/IP)的标准是新的,尽管在数学上是合理的,但算法并没有在建立时考虑到流量。幸运的是,互联网并没有削弱我们,而是能够扩展到我们的生活中。一旦流量暴涨,构成TCP/IP的最初决定对整个网络的运行至关重要。其中一个关键的决定是选择一种用于路由数据包的算法。有两种算法用于此目的;距离矢量路由协议算法(DVRPA)和链路状态路由协议算法(LSRPA)。
DVRPA找出目的网络和源网络之间的最短距离。它可以依赖于任何数量的指标进行计算,但使用一些简单的东西,如路由器的数量和服务器的“跳数”,它必须在途中执行。LSRPA的操作几乎是一样的,但是运行该算法的路由器维护了它可以连接到的整个互联网的地图,并对各种连接进行测试,并分析它们,以确定更现实的连接成本,同时考虑计算、时间等。
谢谢