Untangled monotonic chains and adaptive range search

We present the first adaptive data structure for two-dimensional orthogonal range search. Our data structure is adaptive in the sense that it gives improved search performance for data with more inherent sortedness. Given n points on the plane, the linear-space data structure can answer range queries in O(log n+k+m) time, where m is the number of points in the output and k is the minimum number of monotonic chains into which the point set can be decomposed, which is O( √ n) in the worst case. Our result matches the worst-case performance of other optimaltime linear-space data structures, or surpasses them when k = o( √ n). Our data structure can also be made implicit, requiring no extra space beyond that of the data points themselves, in which case the query time becomes O(k log n + m). We present a novel algorithm of independent interest to decompose a point set into a minimum number of untangled, same-direction monotonic chains in O(kn + n log n) time.

[1]  Yakov Nekrich Orthogonal Range Searching in Linear and Almost-Linear Space , 2007, WADS.

[2]  Fedor V. Fomin,et al.  Approximating minimum cocolorings , 2002, Inf. Process. Lett..

[3]  Mark de Berg,et al.  The Priority R-tree: a practically efficient and worst-case optimal R-tree , 2004, SIGMOD '04.

[4]  Jon Louis Bentley,et al.  Multidimensional binary search trees used for associative searching , 1975, CACM.

[5]  Si-Qing Zheng,et al.  A Comparative Study of Efficient Algorithms for Partitioning a Sequence into Monotone Subsequences , 2007, TAMC.

[6]  Leonidas J. Guibas,et al.  Fractional cascading: I. A data structuring technique , 1986, Algorithmica.

[7]  Marios Hadjieleftheriou,et al.  R-Trees - A Dynamic Index Structure for Spatial Searching , 2008, ACM SIGSPATIAL International Workshop on Advances in Geographic Information Systems.

[8]  Gabriele Di Stefano,et al.  On minimum k-modal partitions of permutations , 2006, J. Discrete Algorithms.

[9]  Ambuj K. Singh,et al.  Optimal Dynamic Range Searching in Non-replicating Index Structures , 1999, ICDT.

[10]  Kenneth J. Supowit,et al.  Decomposing a Set of Points into Chains, with Applications to Permutation and Circle Graphs , 1985, Inf. Process. Lett..

[11]  Jan van Leeuwen,et al.  Untangling a Travelling Salesman Tour in the Plane , 1981, WG.

[12]  George S. Lueker,et al.  A data structure for orthogonal range queries , 1978, 19th Annual Symposium on Foundations of Computer Science (sfcs 1978).

[13]  S. S. Ravi,et al.  An O(n log n) Lower Bound for Decomposing a Set of Points into Chains , 1989, Inf. Process. Lett..