Internal Dictionary Matching
Panagiotis Charalampopoulos, Tomasz Kociumaka, Manal Mohamed, Jakub, Radoszewski, Wojciech Rytter, Tomasz Wale\'n

TL;DR
This paper presents efficient data structures for pattern occurrence queries within a string, leveraging the internal dictionary concept to optimize space and query time, applicable to static and dynamic dictionaries.
Contribution
It introduces novel data structures for internal dictionary pattern matching that achieve near-optimal query times and handle dynamic updates efficiently.
Findings
Query time is polylogarithmic plus output size.
Space complexity depends on dictionary size, not total pattern length.
Provides tight bounds for dynamic dictionary scenarios.
Abstract
We introduce data structures answering queries concerning the occurrences of patterns from a given dictionary in fragments of a given string of length . The dictionary is internal in the sense that each pattern in is given as a fragment of . This way, takes space proportional to the number of patterns rather than their total length, which could be . In particular, we consider the following types of queries: reporting and counting all occurrences of patterns from in a fragment and reporting distinct patterns from that occur in . We show how to construct, in time, a data structure that answers each of these queries in time . The case of counting patterns is much…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
