使用“E”边计算所有可能连接的平面图

时间:2017-10-17 21:49:08

标签: recursion graph-theory graph-algorithm graph-drawing planar-graph

我正在开发一个c ++程序,用于计算和绘制具有给定E数边缘的所有可能连接的平面图。像这样:

我的第一个想法是通过执行递归找到(n-1)的答案后,通过添加一条边来找到N边缘的所有可能解。

如图所示,问题n = 4的解决方案基本上是解决方案的改进版本n = 3,其中一个边缘更多。

但它并不是一种非常有效的解决方案。我在特定的算法中找不到这个问题。

有没有其他方法可以找到并绘制所有可能连接的平面图和E edge?

1 个答案:

答案 0 :(得分:2)

  

有没有其他方法可以找到并绘制所有可能连接的平面图和E edge?

从完整图K (E + 1)开始 - 这将有(E+1)个顶点和E(E+1)/2个边。枚举边1 .. E(E+1)/2

  • 对于E集中的<1 .. E(E+1)/2>值的每个排列
    • 保留E边缘并删除其余
    • 删除所有未连接的顶点
    • 如果图形是连接的,则是平面的,并且与之前的图形不同构
      • 这是一个带有E边缘的新独特图表。

您可以通过考虑完整图的对称性并消除具有旋转和/或反射对称性与先前排列的组合的排列来执行重要的优化。