python-2.7 – 在python networkx中获取有向路径

我想只使用networkx获得有向G中两个节点之间的有向路径.

目前,我这样做:

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中有没有办法做到这一点?

最佳答案 当你这样做

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

你得到了一个无向图.因此,边(u,w)是无向边 – 在(u,w)和(w,u)之间没有区别.谈论“有向路径”是没有意义的.

我相信你希望图形被定向,这就是你最后的True论点.但是由于nx.fast_gnp_random_graph采用其可选参数的顺序,这不是你正在做的事情.相反,你应该说

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

(作为一个注释,我认为通常大写字母在python代码中是不受欢迎的).

点赞