Orthogonal Range Searching in Linear and Almost-Linear Space

In this paper we describe space-efficient data structures for two-dimensional range searching problem. We present a dynamic linear space data structure that supports orthogonal range reporting queries in O(log n + k loge n) time, where k is the size of the answer. Our data structure also supports emptiness and one-reporting queries in O(log n) time and thus achieves optimal time and space for this type of queries. In the case of integer point coordinates, we describe a static linear space data structure that supports range reporting queries in O(log n/log log n+k loge n) time and emptiness and one-reporting queries in O(log n/log log n) time. This is the first linear space data structure for these problems that achieves sub-logarithmic query time. We also present a dynamic linear space data structure for range counting queries with O((log n/ log log n)2) time and a dynamic O(n log n/ log log n) space data structure for semi-group range sum queries with query time O((log n/ log log n)2).

[1]  Stephen Alstrup,et al.  Optimal static range reporting in one dimension , 2001, STOC '01.

[2]  Michael A. Bender,et al.  Cache-Oblivious B-Trees , 2005, SIAM J. Comput..

[3]  Peter Elias,et al.  Universal codeword sets and representations of the integers , 1975, IEEE Trans. Inf. Theory.

[4]  Paul F. Dietz Maintaining order in a linked list , 1982, STOC '82.

[5]  Stephen Alstrup,et al.  Marked ancestor problems , 1998, Proceedings 39th Annual Symposium on Foundations of Computer Science (Cat. No.98CB36280).

[6]  Peter van Emde Boas,et al.  Preserving Order in a Forest in Less Than Logarithmic Time and Linear Space , 1977, Inf. Process. Lett..

[7]  Kurt Mehlhorn,et al.  Data Structures and Algorithms 1: Sorting and Searching , 2011, EATCS Monographs on Theoretical Computer Science.

[8]  Mihai Patrascu Lower bounds for 2-dimensional range counting , 2007, STOC '07.

[9]  Richard Cole,et al.  Two Simplified Algorithms for Maintaining Order in a List , 2002, ESA.

[10]  Stephen Alstrup,et al.  New data structures for orthogonal range searching , 2000, Proceedings 41st Annual Symposium on Foundations of Computer Science.

[11]  Bernard Chazelle,et al.  A Functional Approach to Data Structures and Its Use in Multidimensional Searching , 1988, SIAM J. Comput..

[12]  Jeffrey Scott Vitter,et al.  Optimal External Memory Interval Management , 2003, SIAM J. Comput..

[13]  Mihai Patrascu,et al.  On dynamic range reporting in one dimension , 2005, STOC '05.

[14]  Robert E. Tarjan,et al.  A Class of Algorithms which Require Nonlinear Time to Maintain Disjoint Sets , 1979, J. Comput. Syst. Sci..

[15]  Guy E. Blelloch Space-efficient dynamic orthogonal point location, segment intersection, and range reporting , 2008, SODA '08.

[16]  Guy E. Blelloch,et al.  Compact representations of ordered sets , 2004, SODA '04.

[17]  Erik D. Demaine,et al.  Tight bounds for the partial-sums problem , 2004, SODA '04.

[18]  Dan E. Willard,et al.  A Density Control Algorithm for Doing Insertions and Deletions in a Sequentially Ordered File in Good Worst-Case Time , 1992, Inf. Comput..

[19]  Andrew Chi-Chih Yao,et al.  Should Tables Be Sorted? , 1981, JACM.

[20]  Peter van Emde Boas,et al.  Design and implementation of an efficient priority queue , 1976, Mathematical systems theory.

[21]  Yakov Nekrich A Linear Space Data Structure for Orthogonal Range Reporting and Emptiness Queries , 2009, Int. J. Comput. Geom. Appl..

[22]  Christian Worm Mortensen Fully Dynamic Orthogonal Range Reporting on RAM , 2006, SIAM J. Comput..

[23]  Mark H. Overmars,et al.  Dividedk-d trees , 2005, Algorithmica.

[24]  Alon Itai,et al.  A Sparse Table Implementation of Priority Queues , 1981, ICALP.

[25]  Prof. Dr. Kurt Mehlhorn,et al.  Data Structures and Algorithms 1 , 1984, EATCS.

[26]  Jon Louis Bentley,et al.  Multidimensional divide-and-conquer , 1980, CACM.

[27]  Yakov Nekrich,et al.  Space Efficient Dynamic Orthogonal Range Reporting , 2005, Algorithmica.