2017-04-23 65 views
4

我想只使用networkx获得定向G中两个节点之间的定向路径。获取python网络中的​​定向路径x

目前,我这样做:

G=nx.fast_gnp_random_graph(NUMBER_OF_NODES,PPROB_OF_EDGE,True) 
nx.bidirectional_dijkstra(G,u, v) #u and v are some nodes in G 

这将返回的路径,即使当G的边缘名单只能有以下条目

[(u,w),(v,w)] 

我的目标是让只向路径。在networkx中有办法做到这一点吗?

回答

2

当你

G=nx.fast_gnp_random_graph(NUMBER_OF_NODES,PPROB_OF_EDGE,True) 

你结束了一个无向图。因此边缘(u,w)是无向边缘--- (u,w)(w,u)之间没有区别。谈论“定向路径”是没有意义的。

我相信你希望图表被引导,这就是你最后的论点。但由于nx.fast_gnp_random_graph采取了其可选参数的顺序,这不是你在做什么。相反,你应该说

G = nx.fast_gnp_random_graph(NUMBER_OF_NODES, PROB_OF_EDGE, directed=True) 

(和作为一个说明,我认为一般大写字母在python代码皱眉)。

+0

谢谢。此代码片段是较大代码的一部分,我使用大写字母来表示全局变量:) –