建设性平面度测试

时间:2018-05-05 03:57:35

标签: algorithm optimization graph-theory

我正在编写一个试图构建平面图的算法。 我从一个平面图开始,并且必须在n个节点之间添加边,以便我构建一个n周期,但不要破坏平面度。我知道这是可能的。

我的想法是随机添加边缘,直到平面被破坏,然后重新开始,直到我找到正确的边缘集。要做到这一点,我将不得不进行大量的平面度测试。

我知道最好的算法是O(n),所以我想知道是否有一个算法在每次添加边缘时都不需要重新开始。 我的意思是,如果我只是在同一个图表上运行算法,只减少一个边缘,我能否以某种方式重做所有步骤?

我理解平面度测试算法难以实现,所以理想情况下,我宁愿不自己实现整个事物。

1 个答案:

答案 0 :(得分:0)

平面测试算法通常将组合嵌入作为副产品。您可以直接在此嵌入的面上操作,为每个嵌入添加足够的非交叉和弦,而无需检查平面度。

如果您有平面直线图并希望保持该结构,请再次找到面,然后使用算法对非凸多边形进行三角测量。