最短路径路由算法

时间:2008-12-01

  给定带杈有向图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算法ヵ次。这样,便可以求得每一对顶点之间的短距离。

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

  欢迎转载,信息来源维库电子市场网(www.dzsc.com


  
上一篇:磁盘记录器
下一篇:距离矢量路由算法

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料