使用Boost的图breadth_first_search()在未加权、无向图中查找路径
-
22-07-2019 - |
题
我使用的是 adjacency_list 图,具有无向和未加权的边。我需要找到顶点 u 和顶点 v 之间的最短路径。我应该从 u 开始使用 breadth_first_search() 吗?当到达v时,如何获取路径,如何停止搜索?
谢谢!
其他提示
是,不要breadth_first_search()从u开始。
FOR every vertex i meet
IF i==v: BREAK
record predecessor of i as i.p
要找到最短路径,从V开始:
PRINT_PATH(u, v)
IF v==u
print u
ELSEIF v.p==NIL
print 'no path from u to v exists'
ELSE PRINT_PATH(u, v.p)
print v
您需要使用最小生成树:搜索算法。这是一个相当简单直接的贪婪算法。
不隶属于 StackOverflow