Suffixient Arrays: Minimal Suffix Sampling
- 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 be a text over an alphabet , terminated by a unique sentinel. A substring is right-maximal if there exist at least two distinct characters such that both and occur in . For any right-maximal , each occurring string is a one-character right-maximal extension. A set is suffixient if for every such extension there exists a position 0 such that 1 is a suffix of the prefix 2 (Bonizzoni et al., 5 May 2026).
A suffixient array is any minimum-size suffixient set ordered so that the prefixes 3 appear in co-lexicographic order. In implementation-oriented formulations, this order is induced by the suffix array of the reversed text 4, together with its LCP array and BWT, and the endpoint mapping is 5 (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 6 is exactly the lexicographic order of suffixes of the reversed text 7 (Cenzato et al., 9 Jun 2025).
The minimal cardinality of a suffixient set is denoted 8. In the measure-theoretic formulation, 9 equals the number of super-maximal right-extensions, written 0, and also equals 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
2
where 3 and 4 delimit the maximal LCP interval around 5, and 6 picks the leftmost maximum-weight run-boundary candidate for character 7 inside 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 9 takes 0 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 1 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 2 character comparisons and uses 3 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 4 (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 5, they offer a very small, contiguous, cache-friendly index for witness location and MEM extraction.
3. The size parameter 6 as a repetitiveness measure
Because the suffixient array stores exactly 7 endpoints, its size is itself a repetitiveness measure. The parameter sits between several classical measures. One line of work proves 8, where 9 is the size of the smallest string attractor, and also 0, where 1 is the number of runs in the Burrows–Wheeler transform (Shibata et al., 6 Apr 2026). A later analysis strengthens the placement of 2 in the repetitiveness landscape, stating 3 and showing incomparability with copy–paste measures such as 4, 5, 6, 7, and 8 (Navarro et al., 5 Jun 2025).
The measure is structurally sensitive. On Fibonacci words, 9, while on binary de Bruijn sequences 0 (Navarro et al., 5 Jun 2025). For substrings of episturmian words over an alphabet of size 1, the bound 2 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 3 at the level of text representation. Every string admits a substring equation system (SES) of size 4, with explicit bound 5, and satisfiability, uniqueness, and reconstruction of an SES can be decided in 6 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 7 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 8 | Introduced suffixient arrays |
| (Bonizzoni et al., 5 May 2026) | One-pass 9 time, 0 words | Standard RAM; monotone-stack characterization |
| (Olivares et al., 30 Jun 2026) | One-pass 1 time, practical | First implemented linear-time one-pass constructor |
| (Fujimaru et al., 30 Jun 2026) | 2 | 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 3 algorithm, where 4 is the number of runs in the BWT of the reversed text; the working space for computing the minimum-size suffixient set is 5 words, and for producing the suffixient array it becomes 6 (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 7 online, a weight-sorted doubly linked list holding at most one active candidate per character, arrays 8 and 9, and per-character output lists 0. The theorem states that scanning 1, 2, and 3 of 4 once suffices to construct a suffixient array in 5 time using 6 words of working space, where 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 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 9, 0, and 1 (Olivares et al., 30 Jun 2026). On the reported benchmarks, LC used the same space as LF, 2–3 less than PLC/FM, and 4–5 less than the online method; it was 6–7 faster than LF, 8–9 faster than PLC, and 0–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
2
time for any 3, with working space
4
where 5 and 6 are the numbers of BWT runs in 7 and its reverse. This becomes sublinear when 8 and 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 00 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 01, 02, 03, the previous/next-smaller arrays, and the auxiliary 04 array are available (Cenzato et al., 9 Jun 2025).
The dynamic problem is harder because 05 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 06 time per processed letter over integer alphabets, improving to 07 when 08, with 09 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 10 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 11-index uses 12-scale space and is particularly strong on repetitive texts. By contrast, the suffixient array stores only 13 endpoints and is tailored to locate one occurrence and compute MEMs with random access to 14 (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 15 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 16-index; it also reports average pattern matching query time as low as 17 ns per character, against a RAM-throughput lower bound of 18 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 19, 20, and 21 of the reversed text are already available or streamable, and all query algorithms require random access to 22 (Bonizzoni et al., 5 May 2026). The one-pass linear constructor still carries an 23 workspace term, where 24 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-25 space remains open (Bonizzoni et al., 5 May 2026). A second is representational integration: SES reachability shows that texts admit 26-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).