簡體   English   中英

在有向圖中有效查找2個節點之間的所有路徑-RGL Gem

[英]Efficiently Finding all paths between 2 nodes in a directed graph - RGL Gem

我正在努力尋找一種有效的算法,該算法將為我提供有向圖中2個節點之間的所有可能路徑。

我發現RGL gem ,到目前為止,計算速度最快。 我可以使用gem中的Dijkstras Shortest Path Algorithm找到最短路徑。

我用谷歌搜索,盡管有許多解決方案(紅寶石/非紅寶石),要么無法轉換代碼,要么代碼花了很多時間來計算(效率低下)。

我主要是在這里,如果有人可以建議使用/調整RGL gem本身(如果可能)的各種算法或其他一些有效方法來查找所有路徑。

有向圖的輸入可以是數組的數組。

[[1,2], [2,3], ..]

PS:只是為了避免負面投票/評論,不幸的是,我幾天前就丟棄了它,並且沒有將其保存在任何地方以備記錄或在此處復制,因此我沒有低效的代碼片段來顯示。

主要問題是兩個節點之間的路徑數與總節點數成指數增長。 因此,在較大的圖上,找到兩個節點之間所有路徑的任何算法都將非常慢。

例:

例如,想象一個由nxn個節點組成的網格,每個節點都連接到它們的4個鄰居。 現在,您要查找從左下節點到右上節點的所有路徑。 即使只允許向右移動(r)並向上移動(u),您生成的路徑也可以由長度為2n且具有(r)和(u)數目相等的任何字符串來描述。 這將為您提供“ 2n選擇n”個可能的路徑(忽略其他移動和循環)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM