📜  Dijkstra最短路径算法的应用

📅  最后修改于: 2021-05-05 01:10:36             🧑  作者: Mango

Dijkstra的算法是解决许多在图中具有非负边权重的单源最短路径问题的最流行算法之一,即找到图中两个顶点之间的最短距离。它是由计算机科学家Edsger W. Dijkstra于1956年构思的,并在三年后出版。

Dijkstra的算法具有多个实际用例,其中一些如下:

  1. Google地图中的数字地图服务:我们多次尝试在G地图中查找从一个城市到另一个城市,或者从您的位置到最近的所需位置的距离。这里遇到最短路径算法,因为有各种路径/路径连接它们,但是必须显示最小距离,因此使用Dijkstra算法来查找路径上两个位置之间的最小距离。将印度视为一个图形,并以一个顶点和一个城市/地方之间的路线为边来表示一个城市/地方,然后使用此算法,计算出任何两个城市/地方之间或从一个城市/地方到另一个城市之间的最短路线/ place可以计算。
  2. 社交网络应用程序:在许多应用程序中,您可能已经看到该应用程序建议特定用户可能认识的朋友列表。您如何看待许多社交媒体公司有效地实现此功能,尤其是当系统拥有十亿用户时。标准的Dijkstra算法可以通过握手或用户之间的连接测量出的用户之间的最短路径来应用。当社交网络图很小时,它使用标准的Dijkstra算法和其他功能来找到最短路径,但是,当该图变得越来越大时,该标准算法需要花费几秒钟的时间进行计数并交替使用高级算法。使用算法。
  3. 电话网络:众所周知,在电话网络中,每条线都有一个带宽“ b”。传输线的带宽是该线可以支持的最高频率。通常,如果在某条线路中信号的频率较高,则该线路会降低信号的频率。带宽表示线路可以传输的信息量。如果我们将一个城市想象成一个图形,则顶点代表交换站,边代表传输线,边的权重代表“ b”。因此,如您所见,它属于最短距离问题,可以使用Dijkstra。
  4. IP路由查找开放式最短路径优先:开放式最短路径优先(OSPF)是一种链路状态路由协议,用于使用其自己的最短路径优先在源路由器和目标路由器之间找到最佳路径。 Dijkstra的算法广泛用于路由器更新其转发表所需的路由协议中。该算法提供了从源路由器到网络中其他路由器的最短成本路径。
  5. 航班议程:例如,如果某人需要用于为客户制定航班计划的软件。该代理有权访问包含所有机场和航班的数据库。除了航班号,始发机场和目的地外,航班还有出发和到达的时间。具体而言,代理希望在给定始发机场和开始时间的情况下确定目的地的最早到达时间。在那里使用了该算法。
  6. 指定文件服务器:要在LAN(局域网)中指定文件服务器,可以使用Dijkstra的算法。考虑到将文件从一台计算机传输到另一台计算机需要无限的时间。因此,为了使从文件服务器到网络上每台其他计算机的“跳数”最小,该想法是使用Dijkstra算法使网络之间的最短路径最小化,从而使跳数最少。
  7. 机器人之路:如今,无人驾驶飞机和机器人已经存在,其中有些是手动的,有些是自动化的。该算法模块将加载用于将包裹运送到特定位置或用于任务的自动化无人机/机器人,以便在知道源和目的地时,机器人/无人机可以按照以下说明在有序方向上移动在最短的时间内保持交付包裹的最短路径。