English
Related papers

Related papers: c-trie++: A Dynamic Trie Tailored for Fast Prefix …

200 papers

Packing several characters into one computer word is a simple and natural way to compress the representation of a string and to speed up its processing. Exploiting this idea, we propose an index for a packed string, based on a {\em sparse…

Data Structures and Algorithms · Computer Science 2015-03-19 Roman Kolpakov , Gregory Kucherov , Tatiana Starikovskaya

We consider the problem of dictionary matching in a stream. Given a set of strings, known as a dictionary, and a stream of characters arriving one at a time, the task is to report each time some string in our dictionary occurs in the…

Data Structures and Algorithms · Computer Science 2015-04-24 Raphael Clifford , Allyx Fontaine , Ely Porat , Benjamin Sach , Tatiana Starikovskaya

Data structures that realize a dictionary are characterized by three basic instructions: (1) Insert (a new entry <key,value>). (2) Search by a key, returning the associated value. (3) Delete an entry. Known realizations are hashing schemes…

Logic · Mathematics 2016-09-06 Josef Schoenbrunner

The dictionary matching is a task to find all occurrences of patterns in a set $D$ (called a dictionary) on a text $T$. The Aho-Corasick-automaton (AC-automaton) is a data structure which enables us to solve the dictionary matching problem…

Data Structures and Algorithms · Computer Science 2019-02-22 Diptarama Hendrian , Shunsuke Inenaga , Ryo Yoshinaka , Ayumi Shinohara

We describe a data structure that supports access, rank and select queries, as well as symbol insertions and deletions, on a string $S[1,n]$ over alphabet $[1..\sigma]$ in time $O(\lg n/\lg\lg n)$, which is optimal even on binary sequences…

Data Structures and Algorithms · Computer Science 2013-02-04 Gonzalo Navarro , Yakov Nekrich

We deal with the problem of maintaining the suffix tree indexing structure for a fully-online collection of multiple strings, where a new character can be prepended to any string in the collection at any time. The only previously known…

Data Structures and Algorithms · Computer Science 2020-05-05 Shunsuke Inenaga

The problem of dictionary matching is a classical problem in string matching: given a set S of d strings of total length n characters over an (not necessarily constant) alphabet of size sigma, build a data structure so that we can match in…

Data Structures and Algorithms · Computer Science 2015-05-18 Djamal Belazzougui

We present a compressed representation of tries based on top tree compression [ICALP 2013] that works on a standard, comparison-based, pointer machine model of computation and supports efficient prefix search queries. Namely, we show how to…

Data Structures and Algorithms · Computer Science 2019-09-23 Philip Bille , Inge Li Gørtz , Paweł Gawrychowski , Gad M. Landau , Oren Weimann

In today's data-centric world, fast and effective compression of data is paramount. To measure success towards the second goal, Kempa and Prezza [STOC2018] introduce the string attractor, a combinatorial object unifying dictionary-based…

Data Structures and Algorithms · Computer Science 2024-07-23 Philip Whittington

We introduce a new, practical method for conducting an exact search in a uni- and bidirectional FM index in $O(1)$ time per step while using $O(\log \sigma * n) + o(\log \sigma * \sigma * n)$ bits of space. This is done by replacing the…

Data Structures and Algorithms · Computer Science 2016-11-18 Christopher Pockrandt , Marcel Ehrhardt , Knut Reinert

Auto-completion is one of the most prominent features of modern information systems. The existing solutions of auto-completion provide the suggestions based on the beginning of the currently input character sequence (i.e. prefix). However,…

Information Retrieval · Computer Science 2016-11-24 Pengfei Xu , Jiaheng Lu

The approximate string matching is a fundamental and recurrent problem that arises in most computer science fields. This problem can be defined as follows: Let $D=\{x_1,x_2,\ldots x_d\}$ be a set of $d$ words defined on an alphabet…

Data Structures and Algorithms · Computer Science 2017-01-31 Ibrahim Chegrane

The dictionary matching problem is to locate occurrences of any pattern among a set of patterns in a given text. Massive data sets abound and at the same time, there are many settings in which working space is extremely limited. We…

Data Structures and Algorithms · Computer Science 2013-01-29 Shoshana Marcus Dina Sokol

A dictionary data structure maintains a set of at most $n$ keys from the universe $[U]$ under key insertions and deletions, such that given a query $x \in [U]$, it returns if $x$ is in the set. Some variants also store values associated to…

Data Structures and Algorithms · Computer Science 2023-09-12 Tianxiao Li , Jingxun Liang , Huacheng Yu , Renfei Zhou

The Suffix Array $SA_S[1\ldots n]$ of an $n$-length string $S$ is a lexicographically sorted array of the suffixes of $S$. The suffix array is one of the most well known and widely used data structures in string algorithms. We present a…

Data Structures and Algorithms · Computer Science 2021-12-24 Amihood Amir , Itai Boneh

A dynamic dictionary is a data structure that maintains sets of cardinality at most $n$ from a given universe and supports insertions, deletions, and membership queries. A filter approximates membership queries with a one-sided error that…

Data Structures and Algorithms · Computer Science 2020-06-23 Ioana Oriana Bercea , Guy Even

Many search engines such as Google, Bing & Yahoo! show search suggestions when users enter search phrases on their interfaces. These suggestions are meant to assist the user in finding what she wants quickly and also suggesting common…

Data Structures and Algorithms · Computer Science 2021-11-01 Dhruv Matani

Big data, encompassing extensive datasets, has seen rapid expansion, notably with a considerable portion being textual data, including strings and texts. Simple compression methods and standard data structures prove inadequate for…

Data Structures and Algorithms · Computer Science 2024-11-11 Takaaki Nishimoto , Yasuo Tabei

We consider the {\it indexable dictionary} problem, which consists of storing a set $S \subseteq \{0,...,m-1\}$ for some integer $m$, while supporting the operations of $\Rank(x)$, which returns the number of elements in $S$ that are less…

Data Structures and Algorithms · Computer Science 2011-08-10 Rajeev Raman , Venkatesh Raman , Srinivasa Rao Satti

Tree structures are very often used data structures. Among ordered types of trees there are many variants whose basic operations such as insert, delete, search, delete-min are characterized by logarithmic time complexity. In the article I…

Data Structures and Algorithms · Computer Science 2007-08-23 David S. Planeta