問候代碼大師!在這種情況下要考慮的有效C++數據結構
我正在寫一個算法來連接Region_A的node_A和Region_D的node_D。 (node_A和node_D只是整數)。可能有100k +這樣的節點。
假設A和D之間的線段經過了許多其他區域B,C,Z。這兩個節點之間最多會有20個區域。
每個區域都有自己的屬性,可能會根據連接A-D而有所不同。我想在稍後的時間訪問這些信息。
我正在尋找一個好的數據結構(也許是一個STL容器),可以爲特定連接保存此信息。
例如,對於連接A - DI想存儲:
node_A,
node_D,
crosssectional area (computed elsewhere) ,
regionB,
regionB_thickness,
regionB other properties,
regionC, ....
的數據可以是雙,整型,字符串和也可以是陣列/載體等
首先我考慮爲regionB,regionC等創建結構或類。 但是,對於每個連接A-D,某些屬性(如連接所經過的區域的厚度)是不同的。 我只需要存儲3到4種與某個地區相關的不同內容。 我應該在這裏考慮哪個數據結構(像vector這樣的任何STL容器?)你能推薦一個嗎? (會喜歡的代碼片段)
要訪問節點A-D之間的連接,我想利用int node_A(一個索引)。 這可能意味着我需要使用散列表或類似的數據結構。 任何人都可以請建議一個良好的數據結構在C + +可以有效地 持有這種類型的數據連接A -D上述? (將欣賞代碼片段)
謝謝!
UPDATE 因爲某些原因,我不能使用像升壓PKGS的。所以想知道我是否可以使用STL中的任何庫
它看起來像我的圖。 – Drakosha 2010-02-01 08:35:47
感謝Drakosha的超級快速回復。 ..我現在正在審查'圖'的文檔 – memC 2010-02-01 08:40:32
http://en.wikipedia.org/wiki/Graph_%28data_structure%29 – Drakosha 2010-02-01 08:44:45