Boost Graph Lib在算法期间添加树顶点

时间:2019-01-31 08:10:54

标签: c++ algorithm boost boost-graph

我想使用Boost Graph Library创建一种算法,该算法在算法运行时“动态”扩展树形图上的分支。根据某些条件,该算法将以较低的成本探索分支。这些成本也应在树扩展时创建。我想避免在运行算法之前创建树的原因是为了避免不必要的顶点。每个顶点都有附加的数据,该数据需要大量的计算工作,而且要花费大量时间。

boost的所有示例和文档中都显示了给定的图,然后仅应用算法,但是在算法运行时,没有一个扩展图。

我发现了类似的问题here和答案:

  

在顶点内部添加顶点和边缘是一件危险的事情   算法访问者。这是因为这样做无效   该算法正在使用的迭代器。还有,算法   创建从顶点到颜色的映射(以标记   已处理了哪些顶点),并添加了顶点   会弄乱那个映射。你能记录下来吗   您要添加顶点并在BFS之后执行此操作吗?

我还考虑过在使用dijkstra_shortest_paths探索顶点时创建一个空树结构并更改附加到顶点的数据。但是,据我了解,在运行我没有的算法之前,我需要对边缘进行成本映射。发现新顶点时应调整权重,因为必须首先为该新发现的顶点分配一些成本或奖励。因此,还应该即时创建成本图。

有人尝试过在算法中添加顶点吗?还是有更好的方法来实现这种行为?也许BGL不是适合此的库?

0 个答案:

没有答案