N-网络 R-路由器
在上图中,您可以看到有关链路状态路由协议的问题。当你为R3做 Dijkstra算法时,我知道你开始加入N3和N4然后看成本,2小于4所以N4成为永久性但是当N4成为永久性时它添加R4和R7还是只选择其中一个?
答案 0 :(得分:0)
这个例子有点令人困惑,因为箭头,但我想我们可以假设这是一个顶点集N union R
的无向图。
从wikipedia开始,这些是Dijkstra的步骤:
让我们看看你的案例的这些步骤。
R3
是初始节点,因此距离为0
。 R3
是最新的。N3
和N4
,并将他们的暂定距离分别设置为4
和2
。R3
标记为已完成。N4
作为当前节点,然后返回步骤3. R4
和R7
,并将他们的暂定距离分别设置为6
和3
。N4
标记为已完成。R7
作为当前节点,然后返回步骤3. 等等。
答案 1 :(得分:0)
Dijkstra算法的关键在于,在处理节点之前,不要丢弃节点。
Step 1 : R3
N4 - 2
N3 - 4
Step 2 : N4
R7 - 3
N3 - 4
R4 - 6
Step 3 : R7
N3 - 4
R4 - 6
N6 - 9
在此步骤中,您将N3与剩下的R3最接近,因此您可以执行N3
Step 4 : N3
R4 - 6
R8 - 6
R2 - 6
N6 - 9
请注意,每一步都有一个排序。所以最低优先级队列应该有所帮助。