我想知道,当给出起始顶点s时,只有当顶点距离起始顶点不超过三个边时才计算最短路径。Dijkstra算法的修改
我想通过计算父母的数量来做到这一点,如果number_of_parents < = 3那么它是一个有效的路径。
请有人可以澄清这一点对我来说,使用算法?
下面是标准的Dijkstra算法。
Dijkstra(G,W,s)
Initialize_Single_Source(G,s)
S= {}
Q = V[G]
while Q != {} do
u = extract_min(Q)
S = S U {u}
for each vertex v element of Adj[u] do
relax(u,v,w)
“我想这样做的”来吧,这样做的来源,然后问一个问题。 –
为什么不创建一个新图形,该图形只包含离源最多3个边的所有节点,并在该图上使用dijkstra算法。您可以通过执行3次BFS来创建较小的图,所有访问过的节点都属于您的较小图。 – Krom