2017-04-23 61 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

謝謝。此代碼片段是較大代碼的一部分,我使用大寫字母來表示全局變量:) –