基于顶点分裂的节点不相交最短对算法

时间:2012-04-18 20:12:04

标签: c dijkstra vertex

我正在研究我的学士论文我必须编写本文的代码,该代码使用修改后的Dijkstra算法来处理2个节点之间的多个顶点不相交路径。我研究了Dijkstra和修改过的Dijkstra,并且遇到了Bhandari算法的顶点不相交对。我不知道如何从顶点分裂开始(如果我正在使用矩阵和向量,而不是树。)我还需要在Matlab上进行模拟。我从头开始遇到困难,因为到目前为止我只参加了2门C编程课程。 有没有我可以开始的代码?我发布了Bhandari的顶点分裂算法。

  
      
  1. 对于所考虑的给定顶点对,使用the找到最短路径   修改了Dijkstra或BFS算法。
  2.   
  3. 用指向目的地的弧线替换最短路径上的每条边   顶点
  4.   
  5. 将最短路径上的每个顶点拆分为两个由弧连接的并置子顶点   长度为零。将此弧指向目标顶点。更换每个外部   边缘通过其两个分量弧(长度)连接到最短路径上的顶点   等于边长);让一个弧终止于一个子顶点,另一个弧终止   从其他子顶点发出,使得与零长度弧一起形成一个循环   结果
  6.   
  7. 在最短路径上反转弧的方向。也做出自己的长度   负
  8.   
  9. 将修改后的Dijkstra或BFS算法从源顶点运行到   
  10. 中修改后的图形中的目标顶点   
  11. 移除零长度弧;将子顶点合并到其父顶点中。   用最初的边缘(正面)替换最短路径的单个弧   长度)。删除上面找到的两条路径的交错边缘以获得最短的路径   一对路径。**
  12.   

0 个答案:

没有答案