Finding a Shortest Diagonal of a Simple Polygon in Linear Time

Abstract A diagonal of a planar, simple polygon P is an open line segment that connects two nonadjacent vertices and lies in the relative interior of P. We present a linear time algorithm for finding a shortest diagonal (in the L2 norm) of a simple polygon, improving the previous best result by a factor of logn. Our result provides an interesting contrast to a known Ω(n log n) lower bound for finding a closest pair of vertices in a simple polygon—observe that a shortest diagonal is defined by a closest pair of vertices satisfying an additional visibility constraint.