【问题标题】:Algorithm to Construct Cycle Basis, with the Condition that Each Edge Must be Shared by At Most 2 Cycles构造循环基的算法,条件是每条边必须被最多2个循环共享
【发布时间】:2010-11-30 15:43:55
【问题描述】:

给定一个图(如下所示),是否有一种算法可以让我构造一个循环基,条件是每条边必须由 最多 2 个循环共享?

也就是说,对于上图,算法应该返回以下 5 个周期作为解:

C1=>e1,e2,e13,e3
C2=>e13,e4,e5
C3=>e5,e9,e6
C4=>e7,e6,e10,e8
C5=>e10,e9,e12,e11

请注意,没有一条边上有超过 2 个周期。任何其他 5 个循环的集合(只要所有边上的循环不超过 2 个)都可以作为解决方案接受。

问题:有这样的算法吗?

我可以通过先找到生成树来构造一组环基,然后通过添加不在生成树内部的边来完成循环,但我不能保证这样构造的一组环基有我想要的上述功能。

此外,每个顶点的坐标是已知的。

【问题讨论】:

    标签: algorithm graph


    【解决方案1】:

    经过一番搜索,原来平面嵌入算法可以做这样的事情。其中一种算法是Boyer and Myrvold

    这种算法在boost库的Planar Face Traversal函数中实现。

    【讨论】:

      猜你喜欢
      • 2022-12-13
      • 2023-04-10
      • 2020-08-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-11
      • 2015-05-23
      • 2021-05-29
      相关资源
      最近更新 更多