建设性平面度测试

Constructive planarity testing

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

我的想法是 运行domly 添加边缘直到平面性被破坏,然后重新开始,直到找到正确的边缘集。为此,我必须进行大量的平面度测试。

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

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

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

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