Space-efficient geometric divide-and-conquer algorithms

We develop a number of space-efficient tools including an approach to simulate divide-and-conquer space-efficiently, stably selecting and unselecting a subset from a sorted set, and computing the kth smallest element in one dimension from a multi-dimensional set that is sorted in another dimension. We then apply these tools to solve several geometric problems that have solutions using some form of divide-and-conquer. Specifically, we present a deterministic algorithm running in O(nlogn) time using O(1) extra memory given inputs of size n for the closest pair problem and a randomized solution running in O(nlogn) expected time and using O(1) extra space for the bichromatic closest pair problem. For the orthogonal line segment intersection problem, we solve the problem in O(nlogn+k) time using O(1) extra space where n is the number of horizontal and vertical line segments and k is the number of intersections.

[1]  Manuel Blum,et al.  Time Bounds for Selection , 1973, J. Comput. Syst. Sci..

[2]  Clifford Stein,et al.  Introduction to Algorithms, 2nd edition. , 2001 .

[3]  Wm. Randolph Franklin Computational Geometry: An Introduction (Franco P. Preparata and Michael Ian Shamos) , 1988 .

[4]  Timothy M. Chan,et al.  Space-efficient algorithms for computing the convex hull of a simple polygonal line in linear time , 2004, Comput. Geom..

[5]  Jyrki Katajainen,et al.  Stable minimum space partitioning in linear time , 1992, BIT.

[6]  Jyrki Katajainen,et al.  Sorting multisets stably in minimum space , 1992, Acta Informatica.

[7]  Michael Ian Shamos,et al.  Computational geometry: an introduction , 1985 .

[8]  Donald Ervin Knuth,et al.  The Art of Computer Programming , 1968 .

[9]  Jyh-Jong Tsay,et al.  External-memory computational geometry , 1993, Proceedings of 1993 IEEE 34th Annual Foundations of Computer Science.

[10]  Michael Ian Shamos,et al.  Divide-and-conquer in multidimensional space , 1976, STOC '76.

[11]  Timothy M. Chan,et al.  Towards in-place geometric algorithms and data structures , 2004, SCG '04.

[12]  Kenneth L. Clarkson,et al.  Applications of random sampling in computational geometry, II , 1988, SCG '88.

[13]  C. A. R. Hoare,et al.  Algorithm 65: find , 1961, Commun. ACM.

[14]  Pat Morin,et al.  In-Place Planar Convex Hull Algorithms , 2002, LATIN.

[15]  Jyrki Katajainen,et al.  Asymptotically Efficient In-Place Merging , 1995, MFCS.

[16]  C. A. R. Hoare,et al.  Algorithm 64: Quicksort , 1961, Commun. ACM.

[17]  Donald E. Knuth,et al.  A one-way, stackless quicksort algorithm , 1986 .

[18]  Ronald L. Rivest,et al.  Introduction to Algorithms , 1990 .

[19]  W ShorPeter,et al.  Applications of random sampling in computational geometry, II , 1989 .

[20]  Donald E. Knuth,et al.  The Art of Computer Programming, Volume I: Fundamental Algorithms, 2nd Edition , 1997 .

[21]  Donald E. Knuth The art of computer programming: fundamental algorithms , 1969 .