We consider the following problem: Given a rectangle containing N points, find the largest area subrectangle with sides parallel to those of the original rectangle which contains none of the given points. If the rectangle is a piece of fabric or sheet metal and the points are flaws, this problem is finding the largest-area rectangular piece which can be salvaged. A previously known result takes O(N**2) worst-case and O(N log**2 N) expected time. This paper presents an O(N log**3 N) time, O(N log N) space algorithm to solve this problem. It uses a divide-and-conquer approach and introduces a new notion of Voronoi diagram along with a method for efficient computation of certain functions over paths of a tree.
All Science Journal Classification (ASJC) codes
- Computer Science(all)