你好,欢迎访问达普芯片交易网!|  电话:010-82614113

最短路径路由算法

发布时间:2008-12-01 09:44:08阅读:1328

  给定带杈有向图G和源点v,求从v到G中其余各顶点的最短路径。如何求得这些路径。解决最短路问题存在几个 不同的算法,这里主要介绍迪杰斯特拉算法。迪杰斯特拉(Dijkstra)提出了一个按路径长度递增的次序产生最 短路径的算法。

  经典Dijkstra算法的主要思想:

  Dijkstra算法是求出一个连通加杈简单图中从结点a到结点z的最短路。边{i,j}的权ω(i,j)>0,且结点x的 标号为L(x),结束时,L(z)是从a到z的最短路的长度。

  Dijkstra算法流程(G:所有权为正的加权连通简单图):

    

  For所有不属于S的顶点v

       

     这样就给S中添加带最小标记的顶点并且更新不在S中的顶点的标记

  End L(z)=从曰到z的最短路的长度。

  每次一个顶点为源点,重复执行Dijkstra算法ヵ次。这样,便可以求得每一对顶点之间的最短距离。

  在网络中,建立一个子网图,图中的每个节点代表一台路由器,每条弧代表一条通信线路。为了在一对给定的路由器之间选择一条路由路径,路由算法只需在图中找到这对节点之间的最短路径即可。

在线人工客服

点击这里给我发消息

点击这里给我发消息

点击这里给我发消息

010-82614113

客服在线时间周一至周五
9:00-17:30