Cache Oblivious Algorithms for the RMQ and the RMSQ Problems

In the Range Minimum/Maximum Query (RMQ) and Range Maximum-Sum Segment Query (RMSQ) problems, we are given an array which we can preprocess in order to answer subsequent queries. In the RMQ query, we are given a range on the array and we need to find the maximum/minimum element within that range. On the other hand, in RMSQ query, we need to return the segment within the given query range that gives the maximum sum. In this paper, we present cache oblivious optimal algorithms for both of the above problems. In particular, for both the problems, we have presented linear time data structures having optimal cache miss. The data structures can answer the corresponding queries in constant time with constant cache miss.

[1]  Volker Heun,et al.  A New Succinct Representation of RMQ-Information and Improvements in the Enhanced Suffix Array , 2007, ESCAPE.

[2]  Jon Bentley,et al.  Programming pearls: algorithm design techniques , 1984, CACM.

[3]  Gad M. Landau,et al.  On Cartesian Trees and Range Minimum Queries , 2009, Algorithmica.

[4]  Lloyd Allison,et al.  Longest Biased Interval and Longest Non-negative Sum Interval , 2003, Bioinform..

[5]  S. Muthukrishnan,et al.  Efficient algorithms for document retrieval problems , 2002, SODA '02.

[6]  Robert E. Tarjan,et al.  Scaling and related techniques for geometry problems , 1984, STOC '84.

[7]  Yaw-Ling Lin,et al.  Efficient algorithms for locating the length-constrained heaviest segments with applications to biomolecular sequence analysis , 2002, J. Comput. Syst. Sci..

[8]  Uzi Vishkin,et al.  Highly Parallelizable Problems (Extended Abstract) , 1989, STOC 1989.

[9]  Yaw-Ling Lin,et al.  MAVG: locating non-overlapping maximum average segments in a given sequence , 2003, Bioinform..

[10]  Hsueh-I Lu,et al.  An Optimal Algorithm for Maximum-Sum Segment and Its Application in Bioinformatics Extended Abstract , 2003, CIAA.

[11]  Jeffrey Scott Vitter,et al.  External memory algorithms , 1998, ESA.

[12]  Uzi Vishkin,et al.  On Finding Lowest Common Ancestors: Simplification and Parallelization , 1988, AWOC.

[13]  Kuan-Yu Chen,et al.  On the range maximum-sum segment query problem , 2007, Discret. Appl. Math..

[14]  Maxime Crochemore,et al.  Finding Patterns In Given Intervals , 2010 .

[15]  Uzi Vishkin,et al.  Highly parallelizable problems , 1989, STOC '89.

[16]  Hsueh-I Lu,et al.  An Optimal Algorithm for the Maximum-Density Segment Problem , 2003, SIAM J. Comput..

[17]  Gerth Stølting Brodal,et al.  Cache-Oblivious Algorithms and Data Structures , 2004, SWAT.

[18]  Kuan-Yu Chen,et al.  Optimal algorithms for locating the longest and shortest segments satisfying a sum or an average constraint , 2005, Inf. Process. Lett..

[19]  Michael A. Bender,et al.  The LCA Problem Revisited , 2000, LATIN.

[20]  Lusheng Wang,et al.  SEGID: Identifying Interesting Segments in (Multiple) Sequence Alignments , 2003, Bioinform..

[21]  Charles E. Leiserson,et al.  Cache-Oblivious Algorithms , 2003, CIAC.

[22]  Robert E. Tarjan,et al.  Fast Algorithms for Finding Nearest Common Ancestors , 1984, SIAM J. Comput..

[23]  Maxime Crochemore,et al.  Optimal prefix and suffix queries on texts , 2008, Inf. Process. Lett..

[24]  Jon Louis Bentley Algorithm Design Techniques , 1984, Commun. ACM.

[25]  Kunihiko Sadakane,et al.  Succinct data structures for flexible text retrieval systems , 2007, J. Discrete Algorithms.