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 that is better than the worst case (Demaine et al., 2000) [8]; in this case, 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(root n) in the worst case. Our result matches the worst-case performance of other optimal-time linear space data structures, or surpasses them when k = o(root n). Our data structure can be made implicit, requiring no extra space beyond that of the data points themselves (Munro and Suwanda, 1980) [16], in which case the query time becomes O(k log n + m). We also present a novel algorithm of independent interest to decompose a point set into a minimum number of untangled, similarly directed monotonic chains in O(k(2)n + n log n) time. (C) 2011 Elsevier B.V. All rights reserved.
untangling monotonic chain adaptive range search data structure range query implicit computational geometry