Papers
Topics
Authors
Recent
Search
2000 character limit reached

Suffixient Arrays: Minimal Suffix Sampling

Updated 4 July 2026
  • Suffixient arrays are minimal suffix sampling structures that store only necessary prefix endpoints to support fast pattern location and maximal exact match extraction under random text access.
  • They are constructed by ordering co-lexicographically the sampled prefixes of the reversed text, enabling efficient binary search and constant-time candidate verification.
  • Their size, measured by the parameter χ, reflects the repetitiveness of the text while dynamic maintenance and sublinear construction methods remain open research areas.

Suffixient arrays are a suffix-array compression technique that retain only a minimum-size subset of prefix endpoints sufficient to support locating one occurrence of a pattern and computing maximal exact matches (MEMs), provided random access to the text is available. In the now-standard formulation, the selected endpoints are ordered co-lexicographically—equivalently, by lexicographic order of the corresponding suffixes of the reversed text—so the structure can be viewed both as a minimal suffixient set and as a sparse subsequence of the suffix array of the reversed text (Cenzato et al., 2024, Bonizzoni et al., 5 May 2026).

1. Formal definition and underlying combinatorics

Let T[1..n]T[1..n] be a text over an alphabet Σ\Sigma, terminated by a unique sentinel. A substring str=T[itext..jtext]\mathrm{str}=T[i_{\text{text}}..j_{\text{text}}] is right-maximal if there exist at least two distinct characters a,bΣa,b \in \Sigma such that both stra\mathrm{str}\cdot a and strb\mathrm{str}\cdot b occur in TT. For any right-maximal str\mathrm{str}, each occurring string strc\mathrm{str}\cdot c is a one-character right-maximal extension. A set X{1,,n}X \subseteq \{1,\dots,n\} is suffixient if for every such extension there exists a position Σ\Sigma0 such that Σ\Sigma1 is a suffix of the prefix Σ\Sigma2 (Bonizzoni et al., 5 May 2026).

A suffixient array is any minimum-size suffixient set ordered so that the prefixes Σ\Sigma3 appear in co-lexicographic order. In implementation-oriented formulations, this order is induced by the suffix array of the reversed text Σ\Sigma4, together with its LCP array and BWT, and the endpoint mapping is Σ\Sigma5 (Bonizzoni et al., 5 May 2026). Earlier work described the same object as a subsampled prefix array, where the co-lexicographic order of prefixes of Σ\Sigma6 is exactly the lexicographic order of suffixes of the reversed text Σ\Sigma7 (Cenzato et al., 9 Jun 2025).

The minimal cardinality of a suffixient set is denoted Σ\Sigma8. In the measure-theoretic formulation, Σ\Sigma9 equals the number of super-maximal right-extensions, written str=T[itext..jtext]\mathrm{str}=T[i_{\text{text}}..j_{\text{text}}]0, and also equals str=T[itext..jtext]\mathrm{str}=T[i_{\text{text}}..j_{\text{text}}]1 (Shibata et al., 6 Apr 2026). This gives suffixient arrays a precise combinatorial interpretation: they store exactly one representative per super-maximal right-extension, no more and no less.

A central 2026 characterization expresses a minimum suffixient set as

str=T[itext..jtext]\mathrm{str}=T[i_{\text{text}}..j_{\text{text}}]2

where str=T[itext..jtext]\mathrm{str}=T[i_{\text{text}}..j_{\text{text}}]3 and str=T[itext..jtext]\mathrm{str}=T[i_{\text{text}}..j_{\text{text}}]4 delimit the maximal LCP interval around str=T[itext..jtext]\mathrm{str}=T[i_{\text{text}}..j_{\text{text}}]5, and str=T[itext..jtext]\mathrm{str}=T[i_{\text{text}}..j_{\text{text}}]6 picks the leftmost maximum-weight run-boundary candidate for character str=T[itext..jtext]\mathrm{str}=T[i_{\text{text}}..j_{\text{text}}]7 inside str=T[itext..jtext]\mathrm{str}=T[i_{\text{text}}..j_{\text{text}}]8. The resulting set is suffixient, has minimum possible size, and is already in suffixient-array order when emitted by character groups in the SA-induced co-lex order (Bonizzoni et al., 5 May 2026).

2. Query model and algorithmic functionality

Suffixient arrays are specialized indexes. They do not aim to reproduce the full functionality of suffix arrays, compressed suffix arrays, or FM-indexes; instead, they preserve precisely the information needed to locate one occurrence of a pattern and to compute MEMs under a random-access model for the underlying text (Bonizzoni et al., 5 May 2026, Fujimaru et al., 30 Jun 2026).

The original presentation emphasizes binary search over the co-lexicographically ordered sampled prefixes. Because the stored prefixes cover every one-character right-extension of every right-maximal substring, binary comparisons against the sampled set never lose the decision boundaries required for correctness. Under this formulation, locating one occurrence of a pattern of length str=T[itext..jtext]\mathrm{str}=T[i_{\text{text}}..j_{\text{text}}]9 takes a,bΣa,b \in \Sigma0 character inspections in the worst case, assuming random access to the text (Cenzato et al., 2024).

The revisited characterization sharpens the query view. Once the minimum set a,bΣa,b \in \Sigma1 is available, locating one occurrence can be described as greedily following guaranteed one-character extensions of the pattern, verifying them directly by character comparisons in the text. In that formulation, locate returns a text position ending an occurrence in a,bΣa,b \in \Sigma2 character comparisons and uses a,bΣa,b \in \Sigma3 extra space beyond the array (Bonizzoni et al., 5 May 2026). The same work sketches MEM enumeration by scanning pattern positions, selecting candidate endpoints grouped by the current character, and extending backward and forward using random access; the expected complexity is a,bΣa,b \in \Sigma4 (Bonizzoni et al., 5 May 2026).

These guarantees are deliberately narrower than those of full-text indexes. Suffixient arrays do not directly support counting all occurrences or general SA-interval operations without augmentation (Bonizzoni et al., 5 May 2026, Fujimaru et al., 30 Jun 2026). Their design point is different: when paired with a direct-access representation of a,bΣa,b \in \Sigma5, they offer a very small, contiguous, cache-friendly index for witness location and MEM extraction.

3. The size parameter a,bΣa,b \in \Sigma6 as a repetitiveness measure

Because the suffixient array stores exactly a,bΣa,b \in \Sigma7 endpoints, its size is itself a repetitiveness measure. The parameter sits between several classical measures. One line of work proves a,bΣa,b \in \Sigma8, where a,bΣa,b \in \Sigma9 is the size of the smallest string attractor, and also stra\mathrm{str}\cdot a0, where stra\mathrm{str}\cdot a1 is the number of runs in the Burrows–Wheeler transform (Shibata et al., 6 Apr 2026). A later analysis strengthens the placement of stra\mathrm{str}\cdot a2 in the repetitiveness landscape, stating stra\mathrm{str}\cdot a3 and showing incomparability with copy–paste measures such as stra\mathrm{str}\cdot a4, stra\mathrm{str}\cdot a5, stra\mathrm{str}\cdot a6, stra\mathrm{str}\cdot a7, and stra\mathrm{str}\cdot a8 (Navarro et al., 5 Jun 2025).

The measure is structurally sensitive. On Fibonacci words, stra\mathrm{str}\cdot a9, while on binary de Bruijn sequences strb\mathrm{str}\cdot b0 (Navarro et al., 5 Jun 2025). For substrings of episturmian words over an alphabet of size strb\mathrm{str}\cdot b1, the bound strb\mathrm{str}\cdot b2 holds (Navarro et al., 5 Jun 2025). These examples explain why suffixient arrays can be extremely compact on highly structured repetitive families and essentially uncompressed on strings with maximal local branching complexity.

A distinct but related result settles the reachability question for strb\mathrm{str}\cdot b3 at the level of text representation. Every string admits a substring equation system (SES) of size strb\mathrm{str}\cdot b4, with explicit bound strb\mathrm{str}\cdot b5, and satisfiability, uniqueness, and reconstruction of an SES can be decided in strb\mathrm{str}\cdot b6 time (Shibata et al., 6 Apr 2026). This does not make the suffixient array itself a self-sufficient compressed text representation, but it shows that strb\mathrm{str}\cdot b7 is large enough to control a universal equality-based representation of the underlying string.

4. Construction algorithms

The construction literature has progressed from linear-time but multi-scan procedures, through one-pass streaming algorithms, to practical implementations and sublinear-time packed-string constructions.

Work Main bound Distinguishing feature
(Cenzato et al., 2024) Linear time; one-pass variant strb\mathrm{str}\cdot b8 Introduced suffixient arrays
(Bonizzoni et al., 5 May 2026) One-pass strb\mathrm{str}\cdot b9 time, TT0 words Standard RAM; monotone-stack characterization
(Olivares et al., 30 Jun 2026) One-pass TT1 time, practical First implemented linear-time one-pass constructor
(Fujimaru et al., 30 Jun 2026) TT2 First sublinear-time construction under packed assumptions

The initial construction framework showed that, given the suffix array, LCP array, and BWT of the reversed text, a suffixient array can be constructed in linear time by multiple scans. Under a strict one-pass restriction, the same line of work obtained an TT3 algorithm, where TT4 is the number of runs in the BWT of the reversed text; the working space for computing the minimum-size suffixient set is TT5 words, and for producing the suffixient array it becomes TT6 (Bonizzoni et al., 5 May 2026).

The 2026 revisitation replaces per-character balanced-map logic by constant-time array accesses and derives a one-pass linear-time algorithm under the standard RAM model. Its core data structures are a monotone stack over LCP values to compute TT7 online, a weight-sorted doubly linked list holding at most one active candidate per character, arrays TT8 and TT9, and per-character output lists str\mathrm{str}0. The theorem states that scanning str\mathrm{str}1, str\mathrm{str}2, and str\mathrm{str}3 of str\mathrm{str}4 once suffices to construct a suffixient array in str\mathrm{str}5 time using str\mathrm{str}6 words of working space, where str\mathrm{str}7 is the suffix-tree height of the reversed text (Bonizzoni et al., 5 May 2026).

The practical linear-time implementation refines the same combinatorial basis through the notion of last str\mathrm{str}8-candidates, which are equivalent to the earlier rightmost-maximum rule over run-break boxes. Its final algorithm, LC, computes NSV and PSV values only where needed—at run breaks—using monotone stacks during a single left-to-right scan of str\mathrm{str}9, strc\mathrm{str}\cdot c0, and strc\mathrm{str}\cdot c1 (Olivares et al., 30 Jun 2026). On the reported benchmarks, LC used the same space as LF, strc\mathrm{str}\cdot c2–strc\mathrm{str}\cdot c3 less than PLC/FM, and strc\mathrm{str}\cdot c4–strc\mathrm{str}\cdot c5 less than the online method; it was strc\mathrm{str}\cdot c6–strc\mathrm{str}\cdot c7 faster than LF, strc\mathrm{str}\cdot c8–strc\mathrm{str}\cdot c9 faster than PLC, and X{1,,n}X \subseteq \{1,\dots,n\}0–X{1,,n}X \subseteq \{1,\dots,n\}1 faster than FM (Olivares et al., 30 Jun 2026).

The newest asymptotic development shows that the smallest suffixient array can also be computed in

X{1,,n}X \subseteq \{1,\dots,n\}2

time for any X{1,,n}X \subseteq \{1,\dots,n\}3, with working space

X{1,,n}X \subseteq \{1,\dots,n\}4

where X{1,,n}X \subseteq \{1,\dots,n\}5 and X{1,,n}X \subseteq \{1,\dots,n\}6 are the numbers of BWT runs in X{1,,n}X \subseteq \{1,\dots,n\}7 and its reverse. This becomes sublinear when X{1,,n}X \subseteq \{1,\dots,n\}8 and X{1,,n}X \subseteq \{1,\dots,n\}9 (Fujimaru et al., 30 Jun 2026).

5. Certification, testing, and dynamic maintenance

Once suffixient arrays were introduced as a minimal-sampling principle, two algorithmic questions became natural: how to certify that a given subset is suffixient, and how to maintain smallest suffixient sets under updates.

The testing problem admits linear-time solutions. In the prefix-array formulation, let Σ\Sigma00 be the maximal LCP interval around a position in the suffix array of the reversed text. A subset is suffixient if and only if every relevant BWT run break has a sampled index with the correct BWT letter inside the corresponding box; minimum cardinality holds if and only if, for equal BWT letters, the boxes of sampled positions are pairwise disjoint (Cenzato et al., 9 Jun 2025). These tests reduce suffixient-set verification to a single linear sweep once Σ\Sigma01, Σ\Sigma02, Σ\Sigma03, the previous/next-smaller arrays, and the auxiliary Σ\Sigma04 array are available (Cenzato et al., 9 Jun 2025).

The dynamic problem is harder because Σ\Sigma05 is not invariant under local edits. An online maintenance algorithm now exists in both right-to-left and left-to-right streaming models. It maintains the smallest suffixient set in worst-case Σ\Sigma06 time per processed letter over integer alphabets, improving to Σ\Sigma07 when Σ\Sigma08, with Σ\Sigma09 space (Köppl et al., 30 Apr 2026). The main tool is Weiner’s suffix tree algorithm, together with dynamic colored-predecessor and dynamic LCA primitives. Although the paper does not define a distinct “suffixient array,” it explicitly notes that the maintained set can be output as a sorted array of positions after each update (Köppl et al., 30 Apr 2026).

These certification and maintenance results are important because they separate the combinatorial notion from any particular constructor. A suffixient array is not merely a derived by-product of one batch algorithm; it is now a verifiable, dynamically maintainable object.

6. Relationship to other indexes, empirical profile, and open directions

Suffixient arrays occupy a distinct point in the design space of string indexes. A full suffix array uses Σ\Sigma10 space and supports general interval queries; compressed suffix arrays and FM-indexes support richer operations through backward search and rank/select over the BWT; the Σ\Sigma11-index uses Σ\Sigma12-scale space and is particularly strong on repetitive texts. By contrast, the suffixient array stores only Σ\Sigma13 endpoints and is tailored to locate one occurrence and compute MEMs with random access to Σ\Sigma14 (Bonizzoni et al., 5 May 2026, Fujimaru et al., 30 Jun 2026).

This specialization yields two practical consequences. First, the structure can be asymptotically smaller than run-length-BWT-based indexes because Σ\Sigma15 is bounded by run counts yet can be strictly smaller on some families (Navarro et al., 5 Jun 2025). Second, its memory access pattern is simple: the sampled array is contiguous and searched co-lexicographically, leaving only direct text access as the nonlocal component. The original experimental study reports that the index is simultaneously faster and orders of magnitude smaller than the suffix array, and smaller and one to two orders of magnitude faster than the Σ\Sigma16-index; it also reports average pattern matching query time as low as Σ\Sigma17 ns per character, against a RAM-throughput lower bound of Σ\Sigma18 ns per character (Cenzato et al., 2024).

Several limitations remain explicit in the literature. Query support is specialized rather than general: suffixient arrays do not directly provide full counting queries or all-occurrence reporting without extra machinery (Bonizzoni et al., 5 May 2026). Most constructions assume that Σ\Sigma19, Σ\Sigma20, and Σ\Sigma21 of the reversed text are already available or streamable, and all query algorithms require random access to Σ\Sigma22 (Bonizzoni et al., 5 May 2026). The one-pass linear constructor still carries an Σ\Sigma23 workspace term, where Σ\Sigma24 is suffix-tree height, and practical work identifies further reductions in stack-related space as an open problem (Olivares et al., 30 Jun 2026).

Open directions therefore cluster around three themes. One is functional extension: counting and multi-locate while preserving near-Σ\Sigma25 space remains open (Bonizzoni et al., 5 May 2026). A second is representational integration: SES reachability shows that texts admit Σ\Sigma26-size equality-based representations, but direct indexing and random access over those representations are not supplied by that result (Shibata et al., 6 Apr 2026). A third is dynamic and streaming computation: near-real-time maintenance is now known, but combining dynamic guarantees with the smallest practical working space, compressed text access, and one-pass reversed-array construction remains unresolved (Köppl et al., 30 Apr 2026, Olivares et al., 30 Jun 2026).

Topic to Video (Beta)

No one has generated a video about this topic yet.

Whiteboard

No one has generated a whiteboard explanation for this topic yet.

Follow Topic

Get notified by email when new papers are published related to Suffixient Arrays.