Fast Preprocessing for Optimal Orthogonal Range Reporting and Range Successor with Applications to Text Indexing
Under the word RAM model, we design three data structures that can be constructed in O(n√( n)) time over n points in an n × n grid. The first data structure is an O(n^ϵ n)-word structure supporting orthogonal range reporting in O( n+k) time, where k denotes output size and ϵ is an arbitrarily small constant. The second is an O(n n)-word structure supporting orthogonal range successor in O( n) time, while the third is an O(n^ϵ n)-word structure supporting sorted range reporting in O( n+k) time. The query times of these data structures are optimal when the space costs must be within O(npolylog n) words. Their exact space bounds match those of the best known results achieving the same query times, and the O(n√( n)) construction time beats the previous bounds on preprocessing. Previously, among 2d range search structures, only the orthogonal range counting structure of Chan and Pǎtraşcu (SODA 2010) and the linear space, O(^ϵ n) query time structure for orthogonal range successor by Belazzougui and Puglisi (SODA 2016) can be built in the same O(n√( n)) time. Hence our work is the first that achieve the same preprocessing time for optimal orthogonal range reporting and range successor. We also apply our results to improve the construction time of text indexes.
READ FULL TEXT