C++ Boost图有向图的无向遍历
我使用的是Boost图。我的图的边有一个定向的含义。这就是我选择有向图的原因。但是,当我遍历图形时,我通常希望忽略方向。然而,我还没有找到一个解决方案来遍历我的图,例如使用内置的深度优先搜索 有没有一种解决方案不需要复制整个图形 如果没有:我不确定我的图表是否真的是由大自然引导的。也许我应该使用无向图,并添加一些“方向”属性?但我不知道该怎么做(简单地将源/目标顶点描述符附加到边上显然会在图形更改后中断)。有可能这样做吗?这有意义吗C++ Boost图有向图的无向遍历,c++,boost,graph,C++,Boost,Graph,我使用的是Boost图。我的图的边有一个定向的含义。这就是我选择有向图的原因。但是,当我遍历图形时,我通常希望忽略方向。然而,我还没有找到一个解决方案来遍历我的图,例如使用内置的深度优先搜索 有没有一种解决方案不需要复制整个图形 如果没有:我不确定我的图表是否真的是由大自然引导的。也许我应该使用无向图,并添加一些“方向”属性?但我不知道该怎么做(简单地将源/目标顶点描述符附加到边上显然会在图形更改后中断)。有可能这样做吗?这有意义吗 谢谢我不知道Boost Graphs的实现,但我可以在您的案例
谢谢我不知道Boost Graphs的实现,但我可以在您的案例中看到两个选项
O(n)
时间,不会影响整体性能我不知道Boost Graphs的实现,但在您的案例中我可以看到两种选择
O(n)
时间,不会影响整体性能我不确定Boost Graphs的实现。你能描述一下你最初的任务吗?基本上我有代表3d空间位置的节点。现在,从节点A到节点B的边附加了一个从坐标系A到B的变换矩阵。我的算法对该图的节点位置进行了一些优化。作为一个预处理步骤,我需要使用BFS/DFS/whatever遍历图形并计算一些东西——我不关心方向。我不确定Boost Graphs的实现。你能描述一下你最初的任务吗?基本上我有代表3d空间位置的节点。现在,从节点A到节点B的边附加了一个从坐标系A到B的变换矩阵。我的算法对该图的节点位置进行了一些优化。作为一个预处理步骤,我需要使用BFS/DFS/无论如何遍历图形并计算一些东西-我不关心方向。谢谢你的回复。嗯,至于1)我基本上同意这是一个解决方案。然而,它有点丑陋,因为基本上所有的算法都可以在没有这个的情况下执行——信息就在那里。但我想,如果我找不到其他的办法,我会考虑这个解决方案。至于2)我在原来的问题中已经提出了这一点。。。但这里的问题是如何在boost graph中做到这一点,因为您不能在edge中使用源vertex_描述符(我知道您已经编写了一篇文章,您不熟悉BGL…这里可能有其他人的想法),谢谢您的回复。嗯,至于1)我基本上同意这是一个解决方案。然而,它有点丑陋,因为基本上所有的算法都可以在没有这个的情况下执行——信息就在那里。但我想,如果我找不到其他的办法,我会考虑这个解决方案。至于2)我在原来的问题中已经提出了这一点。。。但这里的问题是如何在boost graph中做到这一点,因为您不能在边缘中使用源顶点描述符(我知道您已经编写了一篇文章,您不熟悉BGL…也许其他人有这个想法)