我想只使用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代码中是不受欢迎的).