我有一系列无序线段。线段可以是独立的线或几个多边形之一的一部分。我想通过列表并将任何线段组合成一个多边形,并抛出任何不形成闭合多边形的线。
这不像我原先想象的那样琐碎。这个问题是否已经解决了经典问题?
答案 0 :(得分:0)
将每一行视为由起点和终点定义的路径。在2D空间中,这是(x0,y0)和(x1,y1)。将每个点视为图形中的节点,将线条视为图形中的路径,您的问题主要是找出图形中的所有圆形(闭合)路径。
因此,你可以通过图的递归遍历来解决这个问题。朴素算法的时间复杂度将是n *(图中最长路径的长度),其肯定小于n ^ 2。我认为有人可以获得更好的算法,但想法是一样的。