我有一個有13個頂點的有向圖,並希望檢查所有長度(最大= 12)的所有可能的簡單路徑。我嘗試了FindPath [Graph,Vertex1,Vertex2,12,All]公式,但由於我不知道如何以更快更簡單的方式提取路徑,因此必須輸入13 * 12次這個函數。有沒有一種方法可以用一個公式而不是156個公式提取所有路徑(從每個頂點到另一個頂點)? 我也可以訪問鄰接矩陣,這可能暗示另一種可能的方式,但我不知道如何從鄰接矩陣中提取路徑。 我知道關於如何找到兩個頂點之間的所有可能路徑有很多問題,但我需要一個更大的圖像。在圖的所有頂點之間尋找所有可能的路徑
2
A
回答
0
最主要的是你不知道在二維數組或三角形上映射函數的基元。在Mathematica文檔中查找Map
,Outer
,Table
,Scan
,MapThread
等。做
一種方式是(適用於您的情況):
Flatten[ Table[ Table[
FindPath[ mygraph, vertexlist[[i]], vertexlist[[j]], 12, All ],
{j,i+1, Length[vertexlist] }], {i, 1, Length[vertexlist]-1 }], 1]
假設你把你的VertexList時頂點的標識。如果這些只是從1到13的整數,您可以將我替換爲vertexlist [[i]]等。
您將在兩個不同的頂點之間獲得n *(n-1)/ 2個路徑列表,按開始頂點排序。如果你的圖形是面向的,你可能需要整個n *(n-1)。上面的代碼的簡單修改會給你。
相關問題
- 1. 查找兩個頂點(節點)之間的所有路徑
- 2. 查找N組節點之間的所有可能路徑
- 3. 查找兩個頂點之間的所有路徑
- 4. 找到兩個節點之間所有可能的路徑在向標定圖
- 5. 查找大圖中兩個節點之間的所有可能路徑
- 6. 查找無向圖中兩個節點之間的所有可能路徑
- 7. 查找有向圖中源到所有頂點的所有最短路徑
- 8. R中2個頂點之間的所有路徑
- 9. DFS查找所有可能的路徑
- 10. 尋找JUNG的所有路徑?
- 11. 查找圖表所有可能的路徑與時間約束
- 12. OrientDB所有路徑之間
- 13. 查找孩子所有可能的路徑到頂級父
- 14. 有向圖的所有頂點是否存在路徑?
- 15. 如何使用QuickGraph查找兩個頂點之間的所有路徑
- 16. 查找具有循環圖的兩點之間的所有簡單路徑
- 17. 使用近似算法找到所有點之間的路徑
- 18. 查找節點之間所有簡單路徑的問題?
- 19. 查找兩個節點之間的所有路徑
- 20. 使用BFS查找兩個節點之間的所有路徑
- 21. 使用DFS查找兩個節點之間的所有路徑
- 22. xquery - BFS查找兩個節點之間的所有路徑
- 23. 如何在AON圖中找到所有可能的路徑?
- 24. 圖 - 找到從所有其他頂點可到達的頂點
- 25. 找到一次只訪問一個有向圖的所有頂點的路徑
- 26. 查找路徑上的所有點AS3
- 27. 找到圖中所有頂點之間的最短路徑而不給出開始點或結束點
- 28. 尋找所有可能的組合
- 29. C++中矩陣的兩個點之間的所有可能路徑
- 30. webapp.WSGIApplication所有其他可能的路徑