Optimal cache-aware suffix selection

Gianni Franceschini, Roberto Grossi, S. Muthukrishnan

    Research output: Chapter in Book/Report/Conference proceedingConference contribution


    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 transfers, for any string S over an unbounded alphabet (where characters can only be compared), under the common tall-cache assumption (i.e. M = Ω (B1+∈), 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.

    Original languageEnglish (US)
    Title of host publicationSTACS 2009 - 26th International Symposium on Theoretical Aspects of Computer Science
    Number of pages12
    StatePublished - 2009
    Event26th International Symposium on Theoretical Aspects of Computer Science, STACS 2009 - Freiburg, Germany
    Duration: Feb 26 2009Feb 28 2009

    Publication series

    NameLeibniz International Proceedings in Informatics, LIPIcs
    ISSN (Print)1868-8969


    Conference26th International Symposium on Theoretical Aspects of Computer Science, STACS 2009

    ASJC Scopus subject areas

    • Software


    Dive into the research topics of 'Optimal cache-aware suffix selection'. Together they form a unique fingerprint.

    Cite this