我正在开发一个c ++程序,用于计算和绘制具有给定E数边缘的所有可能连接的平面图。像这样:
我的第一个想法是通过执行递归找到(n-1)的答案后,通过添加一条边来找到N边缘的所有可能解。
如图所示,问题n = 4的解决方案基本上是解决方案的改进版本n = 3,其中一个边缘更多。
但它并不是一种非常有效的解决方案。我在特定的算法中找不到这个问题。
有没有其他方法可以找到并绘制所有可能连接的平面图和E edge?
答案 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
边缘并删除其余您可以通过考虑完整图的对称性并消除具有旋转和/或反射对称性与先前排列的组合的排列来执行重要的优化。