在执行 DFS 时在 Boost::graph 中维护迭代器

Maintaining iterator in Boost::graph while performing DFS

本文关键字:graph 维护 迭代器 Boost 执行 DFS 时在      更新时间:2023-10-16

Boost:graph库的大多数示例通过调用boost的深度优先搜索实用程序来执行深度优先搜索。创建顶点和边后,在图上调用 DFS 会以深度优先的方式遍历整个图,如果我们有一个与之关联的访问者方法,它将调用访问者方法来执行操作,对于遍历的每个节点。

我正在寻找的是一种在图上维护迭代器的方法,当客户端调用"next()"时,迭代器将移动到它将遍历到 DFS 的下一个顶点,而不是一次性遍历图,再次调用 next,迭代器将移动到 DFS 规定的下一个顶点。

是否有使用boost:graph执行上述操作的示例?

谢谢

不幸的是,boost::graph API 是基于访问者的,即回调。原则上,将其转换为迭代器的唯一方法是协程,C++没有标准。