在 python networkx 中获取定向路径
Get directed path in 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
这将return一条路径,即使 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)
之间没有区别。谈论 "directed path".
没有意义
我相信您希望图形是有方向的,这就是您最后的 True
论点。但是由于 nx.fast_gnp_random_graph
采用其可选参数的顺序,这不是您正在做的。相反,你应该说
G = nx.fast_gnp_random_graph(NUMBER_OF_NODES, PROB_OF_EDGE, directed=True)
(请注意,我认为大写字母在 python 代码中通常不受欢迎)。
我只想使用 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
这将return一条路径,即使 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)
之间没有区别。谈论 "directed path".
我相信您希望图形是有方向的,这就是您最后的 True
论点。但是由于 nx.fast_gnp_random_graph
采用其可选参数的顺序,这不是您正在做的。相反,你应该说
G = nx.fast_gnp_random_graph(NUMBER_OF_NODES, PROB_OF_EDGE, directed=True)
(请注意,我认为大写字母在 python 代码中通常不受欢迎)。