gpt4 book ai didi

c++ - 如何使用 Boost Graph Library 创建 named_graph?

转载 作者:行者123 更新时间:2023-11-30 03:01:59 30 4
gpt4 key购买 nike

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

现在我找到了这个:http://www.boost.org/doc/libs/1_49_0/boost/graph/named_graph.hpp我想知道这是否对我有帮助?因为文档没有提到 named_graph 我不知道如何使用它。也许周围有人可以给我一些例子或解释?这对我有很大帮助。

提前致谢。

最佳答案

Boost Graph Library 非常灵活,允许您为顶点和边选择内部表示。如果您选择诸如 std::set 之类的容器,那么您可以直接强制使用唯一的顶点和边。详情在这里:Using Adjacency List

named_graph 类型允许您通过自己选择的属性(例如代表名称的“字符串”)来索引顶点。它有效地将标准 adjacency_list 包装在一个映射中,该映射的键是命名属性,其值是节点。在 boost 源中有一个如何使用它的好例子 named_vertices_test.cpp .

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

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

关于c++ - 如何使用 Boost Graph Library 创建 named_graph?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10540338/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com