平面测试算法实现

时间:2018-05-31 10:04:30

标签: algorithm graph graph-theory planar-graph

我想编写一个算法,将图形作为输入,如果是平面则返回true,否则返回false。我四处搜索,发现了大量算法,但没有易于理解的实现。

是否有任何类似Boyer-Myrvold的实现或C ++或Java中提供的其他任何实现我的问题?

2 个答案:

答案 0 :(得分:2)

Boyer-Myrvold的implementation非常容易理解并且评论很好。

https://www.boost.org/doc/libs/1_67_0/boost/graph/planar_detail/boyer_myrvold_impl.hpp

尽管如此,我不会在不先阅读original paper的情况下尝试阅读代码。

答案 1 :(得分:1)

this thesis(数学理论和算法实现)中详细描述了平面测试的路径加法方法。

完整的Java源代码也包含在附录中:

  • 平面测试;
  • 生成平面嵌入;和
  • 循环生成双连图的所有可能的平面嵌入(与边缘数和嵌入数成比例的线性时间,以生成所有嵌入)。