我正在构建一个提升图 . 对于图中的每个连通组件,我想为该连接组件中的每个顶点传播唯一的ID值 . 我想知道是否有办法使用 Boost
的 BFSVisitor
概念?
我猜这可以使用 examine_edge
函数(http://www.boost.org/doc/libs/1_55_0/libs/graph/doc/BFSVisitor.html)完成,但我很难搞清楚实现这样的类 . 任何见解/链接到示例都会有很大帮助!
我正在构建一个提升图 . 对于图中的每个连通组件,我想为该连接组件中的每个顶点传播唯一的ID值 . 我想知道是否有办法使用 Boost
的 BFSVisitor
概念?
我猜这可以使用 examine_edge
函数(http://www.boost.org/doc/libs/1_55_0/libs/graph/doc/BFSVisitor.html)完成,但我很难搞清楚实现这样的类 . 任何见解/链接到示例都会有很大帮助!
1 回答
听起来你只想实现一个自定义的BFS访问者 . 这已被回答here .
特别是在您的discover_vertex方法中 . 你可以使用:
或者您可以使用属性映射 .
只要你将它作为顶点属性 . 您还可以向BFS访问者构造函数添加一个变量,该变量是您希望顶点具有的新ID .
Here是一个示例自定义DFS将变量传递给构造函数 . 它与BFS的原理相同 .