如何使用python igraph在最短路径中获取顶点?

时间:2015-06-12 01:21:34

标签: python graph igraph shortest-path vertices

我可以使用python-igraph创建一个非常简单的图...

import igraph
g=igraph.Graph.TupleList([("a", "b", 3.0), ("c", "d", 4.0), ("a", "c", 5.0)], weights=True)
print( igraph.summary(g, full=True) )

看起来像这样:

IGRAPH UNW- 4 3 --
+ attr: name (v), weight (e)
+ edges (vertex names):
      edge   weight
[0]   a--b        3
[1]   c--d        4
[2]   a--c        5

找到最短的路径很简单!

source = g.vs[0]             // vertex "a"
target = g.vs[len(g.vs)-1]   // vertex "d"
g.shortest_paths(source=source, target=target, weights='weight')

打印结果:

[[9.0]]

我很高兴最短路径的边权重为9.0。但是,我想获得构成图的最短路径的实际顶点和边。获得一个看起来像这样的对象会很好:

shortestPath = [("a", "c", 5.0), ("c", "d", 4.0)]    

python-igraph可以提供给我吗?我没有运气搜索文档......

0 个答案:

没有答案