-2
A
回答
0
有一些衆所周知的方式來做到這一點。
一個是使用大小爲[n] [n]的二維數組,其中n是節點數。然後,如果存在從a到b的鏈接,則設置圖[a] [b] = 1。這種方法通常很快,但使用了大量的內存,特別是如果沒有那麼多的鏈接和許多節點的話。
另一種方法是爲所有節點製作一個列表(或一個數組),並將其中的每個人的內容設置爲指向動態數組或其鏈接的節點列表。
0
在圖形稀疏的情況下有用的數據結構是adjacency list(鏈接列表的鏈表),這是當頂點之間的連接(邊)很少時。
如果你的圖是dense然後使用adjacency matrix(nxn)2維數組,這是你的頂點之間有很多邊緣的情況。
相關問題
- 1. 關於在C++中實現圖的想法
- 2. 在C++中實現數據結構
- 3. C++實現的數據結構庫?
- 4. 需要關於數據庫結構的想法/建議
- 5. 實現算法和數據結構的
- 6. 關於實現字典數據結構的正確方法的一般問題
- 7. 關於在數據集市中填充事實表的想法
- 8. 數據結構中的重現關係
- 9. Firebase數據結構想法
- 10. 在C++中設計Prim實現的數據結構
- 11. 在C++中實現序列化的數據結構對齊
- 12. 在C++中實現複雜的數據結構
- 13. 是否有爲C#實現的任何圖形數據結構?
- 14. Dijkstra算法實現的最佳數據結構是什麼? C#
- 15. 在數據結構中實現隊列
- 16. 在java中實現數據結構
- 17. 關於數據結構和算法的書籍C
- 18. 關於在C++中的結構填充
- 19. 關於數據庫結構
- 20. 類似於C#實現的TypeScript中是否存在foreach結構?
- 21. 如何在C中實現結構的二維數組C
- 22. 理想的數據結構
- 23. 關於如何在CSS中實現網格視圖的任何想法? - CSS
- 24. 在C中實現同步數據結構
- 25. 關於如何實現從分形圖像中提取時間序列數據的算法的三個想法
- 26. 算法和數據結構實現C程序員
- 27. 實現上的數據結構
- 28. C++中的地圖數據結構
- 29. 在結構上實現的C++模板
- 30. Qt中有圖形數據結構的默認實現嗎?
結構的最佳選擇取決於您需要在圖表上執行哪些操作,以及它的大小和稀疏程度。 – NPE
對於這些類型的問題,[Google是你的朋友](http://www.google.com/search?q=c+graph+structure),而StackOverflow是一個痛苦的屁股。 –
希望這可以幫助http://www.cs.bu.edu/teaching/c/graph/linked/ –