【发布时间】:2012-01-04 07:34:09
【问题描述】:
我目前正在尝试定义提升图的外部属性。我使用一些捆绑的属性作为内部属性:
struct VertexProperties
{
int demand;
};
struct EdgeProperties
{
uint capacity;
int cost;
};
typedef adjacency_list <vecS, vecS, bidirectionalS, VertexProperties, EdgeProperties> Graph;
但是,在算法过程中,我需要一些外部属性,即我希望能够将图形的边/顶点映射到存储在 std::vector 中的元素,以便我可以通过 operator[ 访问它们](边缘 e)。我毫无头绪地站在 boost 文档前。好像我需要一个property_map,但我不知道如何将它们与向量一起使用。到目前为止,我发现的唯一示例涉及从顶点到向量的映射,但由于顶点是无符号整数,因此这是微不足道的。
到目前为止,我对 boost 感到非常沮丧,我认为它会为我节省 很多 时间来自己实现和测试一个图形类,我真的不明白这种疯狂的模板元编程的东西。 ..
【问题讨论】:
-
Boost.Graph 边缘无法使用;它试图过于通用并且文档很差。我建议编写自己的课程。
-
嗯,我已经用 boost graph 写了很多代码了,我不想全部重写...
标签: c++ boost graph boost-graph boost-property-map