找到图表外边缘的最佳方法是什么?
例如,此图表上的红色边缘:
我不知道这个算法是否有名字。这个名称足以帮助我在Google上找到一些东西。
答案 0 :(得分:4)
我希望我没有误解这个问题,但除非你有一个特定的平面嵌入图,否则我认为没有答案。
即使对于大多数平面图 1 ,您也可以重新排列节点,使不同的边位于“外部”。见Find border (boundary) edges of planar graph (geometric shape)。你的例子肯定不是平面的。
如果您有嵌入,那么您要查找的内容与一组点的凸包有关。这是Dr. Dobb关于它的文章http://www.drdobbs.com/architecture-and-design/building-the-convex-hull/201806315。 “礼品包装”算法很容易实现。
但是,给定图形嵌入的边界可能不是凸的,因此您必须修改算法以重新计算不是边缘的凸包部分。 (你可以称之为“收缩包装”算法)。
note 1 :我能想到的唯一一类在平面上具有独特嵌入的图形是循环图。其他人可能很容易。 (编辑:至少在边界方面是唯一的,你可以顺时针或逆时针嵌入一个循环)
答案 1 :(得分:0)
图形只是一组顶点和一组边。图中没有“外边缘”的概念。例如,在您给出的图表中,形成五边形的边缘可以移动到内部。