OSPF协议之Dijkstra最短路算法
文章目录
原理描述
本章将会介绍OSPF协议中常常提到的SPF算法。这个SPF算法具体来说就是Dijkstra最短路算法。最短路算法指的是一个点到其余各个顶点的最短路径,也叫作“单源最短路径”。
在这里使用二维数组e来存储顶点之间边的关系,初始值如下:
我们还需要一个一维数组dis来存储1号顶点到其余各个顶点的初始路程:
dis | 1 | 2 | 3 | 4 | 5 | 6 |
---|---|---|---|---|---|---|
0 | 1 | 12 | ∞ | ∞ | ∞ |
此时dis数组中的值称为最短路的“估计值”。
根据Dijkstra最短路算法的目的与结合本章举出的具体例子,首先求1号顶点到其余各个顶点的最短路程,那就先找一个离1号顶点最近的顶点。通过数组dis可知当前离1号最近的是2号顶点。因此dis[2]就从“估计值”变为了“确定值”,即1号顶点到2号顶点的最短路程就是dis[2]的值。因为目前离1号