我們如何在C編程中將圖表表示爲邊界列表?什麼是最簡單的表示圖形邊緣的方法?我是用列表的形式表示的?在C編程語言中
4
A
回答
1
如果要存儲精確的邊,請使用權重矩陣:int** M;
,其中M[i][t]
是i和t頂點之間的邊的長度。
如果你的圖形邊緣有重量的1,你可以圖存儲在鄰接矩陣,其中M[i][t]
等於:
- 如果我和T頂點之間沒有邊
- 如果存在從i邊緣到t
- 阿爾法如果我==噸,有一個循環在I(或T)頂點
如果requre結構,關鍵的內存使用,存儲在鏈表,其中每個頂點有結構的圖表:
struct Vertex
{
int N;
Vertex* next;
};
所以,你將有頂點結構的陣列,每個都包含指向下它連接到。例如,下面是一些鏈表-圖表:
- 1 - > 3 - > 4
- 2 - > 5
- 3 - > 4
- 4 - > 3
- 5 - > 2
6
有這樣的三種常用的方法:
鄰接矩陣:一個V * V的邊權重表,其中第j行的第i列是頂點i和j之間邊的權重。如果沒有邊緣,經常使用無窮大(或者可以使用一些哨兵值,如-1)。
鄰接列表:V鏈表的數組。數組中的每個第i個列表都是離開第i個頂點的邊的列表。
邊緣列表:簡單的邊緣元組列表(u,v)。
不同的適用於不同的目的。我個人認爲鄰接表是最有用的,但是如果你有一個非常密集的圖,那麼鄰接矩陣可以改善性能和內存使用。
0
相關問題
- 1. 什麼是在Ruby中顯示圖形的簡單方法?
- 2. 這是什麼圖形表示法?
- 3. 顯示數據表最簡單的方法是什麼?
- 4. 什麼是瀏覽圖像列表最簡單的方法?
- 5. 什麼是最簡單的方法來創建Django的形式
- 6. 什麼是用於創建圖形的簡單語言?
- 7. 什麼是最好的方法來從Excel中打包圖形表示數據?
- 8. 在Erlang中表示C數組的最佳方式是什麼?
- 9. 什麼是在Web表單中顯示XML的最佳方式?
- 10. 什麼是最簡單的方法來構建條形圖的條形圖
- 11. 用C#創建Excel表最簡單的方法是什麼?
- 12. 在HTML中顯示可編輯列表(如電子表格)的最簡單方法是什麼?
- 13. 「最簡單」的方式來以圖形方式表示一個矩陣
- 14. 什麼是@component在xml配置中的表示形式
- 15. C++中的圖形表示法
- 16. 使用邊緣列表繪製圖形
- 17. 什麼是最簡單的方式來製作座標列表?
- 18. 使用Cocoa顯示列表的最佳方式是什麼?
- 19. 爲什麼我的鄰接列表顯示重複的邊緣?
- 20. 什麼是最有效的方式來表示Dijkstra的算法的邊權重
- 21. 在C++中生成組合列表的最簡單方法是什麼?
- 22. 比較兩個列表最簡單的方法是什麼?
- 23. OpenGL最簡單的方法爲多邊形表面着色?
- 24. 在Python中創建表格最簡單的方法是什麼?
- 25. 在RDBMS中映射表的最簡單方法是什麼
- 26. 創建C++圖形用戶界面:最簡單的方法是什麼?
- 27. 在C中啓動圖形界面編程的最佳方式是什麼?
- 28. jQuery的表單驗證最簡單的方法是什麼?
- 29. 表達式(φ*)*表示什麼語言?
- 30. 顯示可編輯詞典的最簡單方法是什麼?
謝謝。但在C編程中,我們如何使用3中提到的邊緣列表來初始化邊緣列表。說我們有這個邊的列表(0,1),(0,2),(0,3),(0,4),(1,2),(1,3),我們必須在我們的初始化它主程序 – stefideltz 2011-01-24 09:04:52