问候代码大师!在这种情况下要考虑的有效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