繁体   English   中英

在计算无边顶点时如何找到短路路径?

[英]How to find shortes path while counting vertices no edges?

我有一个来自Graph的任务,我需要找到最短的路径。

这不是正常的算法,因为您不必计算路径,而需要计算顶点。

规则就像遍历特定顶点的成本是:

| P = costOfPathFromThePreviousVertex - costOfPathToTheNextVertex |

因此,例如,当您拥有图:A-> B-> C->

成本是

  A->B = 10 ;
  B->C = 15 ;

通过顶点B的成本为:P = | 10-15 |

假设根顶点和目标顶点的成本为0。

因此在上述情况下,从A通过B到C的成本为5。

说起来容易,但是我不知道当我有x个顶点时需要实现哪种算法才能得到结果。 我也在考虑Dijkstra的算法和DFS,但在那种情况下它们是不正确的。

任何帮助将不胜感激。

我将添加一个连接到实际起点和终点的虚拟起点和终点顶点。

然后将您的图变成一个线图 ,该线图的每个边都有一个顶点,例如v1 =“ A-> B”和v2 =“ B-> C”。

根据您的公式将权重分配给新图形中的边缘。

例如,将v1连接到v2的边的权重| 10-15 |。

然后在该线图上使用Dijkstra算法,找到虚拟起始边缘和虚拟终止边缘之间的最短路径。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM