C++ 如何使用Boost图形库创建命名的_图?

C++ 如何使用Boost图形库创建命名的_图?,c++,boost,boost-graph,C++,Boost,Boost Graph,我目前正在使用Boost图形库。我需要唯一的边和顶点。不幸的是,boost图表没有提供此功能。因此,每次插入边或顶点之前,我都必须检查手册 现在我发现: 我想知道这对我是否有帮助?因为文档中没有提到命名图,所以我不知道如何使用它。也许周围有人能给我举个小例子或解释一下?这对我有很大帮助 提前感谢。Boost Graph Library非常灵活,允许您为顶点和边选择内部表示。如果您选择一个容器,如std::set,则可以直接强制唯一的顶点和边。详情如下: 命名图类型允许您根据自己可以选择的属性(例

我目前正在使用Boost图形库。我需要唯一的边和顶点。不幸的是,boost图表没有提供此功能。因此,每次插入边或顶点之前,我都必须检查手册

现在我发现: 我想知道这对我是否有帮助?因为文档中没有提到命名图,所以我不知道如何使用它。也许周围有人能给我举个小例子或解释一下?这对我有很大帮助


提前感谢。

Boost Graph Library非常灵活,允许您为顶点和边选择内部表示。如果您选择一个容器,如std::set,则可以直接强制唯一的顶点和边。详情如下:

命名图类型允许您根据自己可以选择的属性(例如表示名称的“字符串”)对顶点进行索引。它有效地将标准邻接列表包装在一个映射中,该映射的键是命名属性,值是节点。有一个很好的例子说明了如何在boost源中使用它

不确定要做什么,但可以使用std::map/std::set将自己从某个唯一属性映射到邻接列表中的节点。如果在创建图时只需要确保图具有唯一的节点/边,那么这种方法简单明了,通常是最好的方法

您应该考虑将备份容器更改为std::set的后果——例如,许多算法的性能都会发生变化。对于哪个容器是最好的容器,没有简单的答案