Optimal Cache-Aware Suffix Selection

Gianni Franceschini, Roberto Grossi, S. Muthukrishnan, Marc Herbstritt
2009 Symposium on Theoretical Aspects of Computer Science  
Given string S[1..N ] and integer k, the suffix selection problem is to determine the kth lexicographically smallest amongst the suffixes S[i . . . N ], 1 ≤ i ≤ N . We study the suffix selection problem in the cache-aware model that captures two-level memory inherent in computing systems, for a cache of limited size M and block size B. The complexity of interest is the number of block transfers. We present an optimal suffix selection algorithm in the cache-aware model, requiring Θ (N/B) block
more » ... ing Θ (N/B) block transfers, for any string S over an unbounded alphabet (where characters can only be compared), under the common tallcache assumption (i.e. M = Ω'B 1+ǫ´, where ǫ < 1). Our algorithm beats the bottleneck bound for permuting an input array to the desired output array, which holds for nearly any nontrivial problem in hierarchical memory models.
doi:10.4230/lipics.stacs.2009.1845 dblp:conf/stacs/FranceschiniGM09 fatcat:iq7duwvk7ngabgr3hax7pxo36y