2018
DOI: 10.1007/s00224-017-9839-9
|View full text |Cite
|
Sign up to set email alerts
|

Finger Search in Grammar-Compressed Strings

Abstract: Grammar-based compression, where one replaces a long string by a small context-free grammar that generates the string, is a simple and powerful paradigm that captures many popular compression schemes. Given a grammar, the random access problem is to compactly represent the grammar while supporting random access, that is, given a position in the original uncompressed string report the character at that position. In this paper we study the random access problem with the finger search property, that is, the time … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
5
0

Year Published

2021
2021
2024
2024

Publication Types

Select...
3
1

Relationship

0
4

Authors

Journals

citations
Cited by 4 publications
(5 citation statements)
references
References 48 publications
0
5
0
Order By: Relevance
“…The survey [4] provides a good overview on dynamic finger search trees. In the setting of finger search on a string s, Bille, Christiansen, Cording, and Gørtz [2] considered three operations: access(i) returns symbol s[i], setfinger(i) sets the finger at position i of s, and movefinger(i) moves the finger to position i in s. Given an SLP of size g for a string of length N , they presented an O(g) size data structure which supports setfinger(i) in O(log N ) time, and access(i) and movefinger(i) in O(log d + log log N ) time where d is the distance from the current finger position [2]. If we assume that the SLP is α-balanced or an AVL-grammar, one can come up with a linear space solution which supports access(i) and movefinger(i) in O(log d) time (Theorem 20).…”
Section: Resultsmentioning
confidence: 99%
See 3 more Smart Citations
“…The survey [4] provides a good overview on dynamic finger search trees. In the setting of finger search on a string s, Bille, Christiansen, Cording, and Gørtz [2] considered three operations: access(i) returns symbol s[i], setfinger(i) sets the finger at position i of s, and movefinger(i) moves the finger to position i in s. Given an SLP of size g for a string of length N , they presented an O(g) size data structure which supports setfinger(i) in O(log N ) time, and access(i) and movefinger(i) in O(log d + log log N ) time where d is the distance from the current finger position [2]. If we assume that the SLP is α-balanced or an AVL-grammar, one can come up with a linear space solution which supports access(i) and movefinger(i) in O(log d) time (Theorem 20).…”
Section: Resultsmentioning
confidence: 99%
“…Let us remark that Theorem 1 holds in the pointer machine model [23], whereas for Theorem 2 and Theorem 3 we assume the word RAM model with the standard arithmetic and bitwise operations on w-bit words, where w ≥ log N . The assumption on the word length is standard in the area of grammar-based compression, see [3,2].…”
Section: Resultsmentioning
confidence: 99%
See 2 more Smart Citations
“…Grammar-based compression is a loss-less data compression scheme that represents a string w by an SLP for w. We are aware of more powerful compression schemes such as run-length SLPs [23,35,5], composition systems [18], collage systems [25], NU-systems [34], the Lempel-Ziv 77 family [40,37,11,12], and bidirectional schemes [37]. Nevertheless, since SLPs exhibit simpler structures than those, a number of efficient algorithms that can work directly on SLPs have been proposed, including pattern matching [24,23], convolutions [38], random access [7], detection of repeats and palindromes [21], Lyndon factorizations [22], longest common extension queries [20], longest common substrings [33], finger searches [4], and balancing the grammar [16]. More examples of algorithms directly working on SLPs can be found in references therein and the survey [30].…”
Section: Introductionmentioning
confidence: 99%