2012-04-30 45 views
0

我需要使用C++編寫圖形,並且有一些小問題。我的圖應該被定向或不定向,加權或不加權,基於矩陣或列表全部由用戶選擇。區分矩陣和列表圖並不是什麼大不了的,因爲它是兩個不同的類,所以我在其他參數上遇到了一些問題。區分它們的最明顯方法是製作兩個bool變量,並在每次添加和刪除頂點時檢查它們。這很明顯,易於理解,但我懷疑它的效率,因爲每次添加或刪除頂點時,我都必須額外執行if。我也可以爲它編寫子類,但我嚴重懷疑它是否值得。區分定向和無向圖

如果圖庫本身不代表圖形,每個圖庫都可以使用。

回答

3

對於定向和非定向最好的情況是用布爾變量爲你的圖形,但是你可以假設你的圖形進行加權和導演,但對於無向邊添加從→ B中的一個邊緣,從B →一個邊緣。另外,如果沒有重量功能,則將其重量設置爲1

但是,如果你在尋找圖形庫,它依賴於你的編程語言,但我建議graph boost library完全用C++實現,而其他許多人用其他語言部分實現它。

+0

謝謝,我將使用bool變量。 – Psyhister