计算多边形周长的计算复杂度

计算科学 算法 计算几何 复杂
2021-12-11 10:38:52

计算多边形周长的计算复杂度是多少n顶点?多边形不一定是规则的,可以是凸的或非凸的。

1个回答

无论哪种方式,多边形都由顶点和顶点之间的链接组成。

通常,这表示为一个有序的顶点序列。在这种情况下,您只需将连续顶点到顶点的距离相加,这是O(N). 主要原因是单距离计算是O(1)

vivj=(vixvjx)2+(viyvjy)2
执行单遍, 其中是周长. 对于闭合多边形,您只需添加另一个距离:
P=i=2Nvivi1
P
PC=i=2N(vivi1)+v1vN

如果多边形以顶点和边列表的形式呈现(类似于图形),那么您将遍历所有边并再次对边长度求和。您应该注意不要多次添加贡献。这可以在哈希表的帮助下轻松完成,再次使整个复杂度为O(N)