我有一个几何无向planar graph,这是一个图表,其中每个节点都有一个位置,没有2个边交叉,我想找到没有边穿过它们的所有周期。
这个问题是否有任何好的解决方案?
我打算做的是一种A*
类似解决方案:
有没有人看到这个问题?它会工作吗?
答案 0 :(得分:11)
我的第一直觉是使用类似于wall following迷宫求解器的方法。本质上,跟随边,并始终从顶点取出最右边。您使用此方法遇到的任何循环都将是面的边界。您必须跟踪您在哪个方向上经过的边缘。一旦你在两个方向上遍历了一条边,你就已经确定了它所分离的面。一旦在两个方向上遍历了所有边,您就可以通过边界识别所有面。
答案 1 :(得分:5)
您称之为“交叉边缘”通常称为chord。因此,你的问题是找到所有无弦循环。
This paper看起来可能有所帮助。
答案 2 :(得分:2)
这样做的一个简单方法就是简单地走出去并枚举每张脸。原理很简单:
通过以下方式执行操作:
我希望这是有道理的;它可能需要一些图解释......