English
Related papers

Related papers: Storing a Trie with Compact and Predictable Space

200 papers

Tries are popular data structures for storing a set of strings, where common prefixes are represented by common root-to-node paths. Over fifty years of usage have produced many variants and implementations to overcome some of their…

Data Structures and Algorithms · Computer Science 2011-12-06 Roberto Grossi , Giuseppe Ottaviano

While separate chaining is a common strategy for resolving collisions in a hash table taught in most textbooks, compact hashing is a less common technique for saving space when hashing integers whose domain is relatively small with respect…

Data Structures and Algorithms · Computer Science 2019-05-02 Dominik Köppl

Efficiently word storing and searching is an important task in computer science. An application space complexity, time complexity, and overall performance depend on this string data. Many word searching data structures and algorithms exist…

Data Structures and Algorithms · Computer Science 2019-11-06 Rahat Yeasin Emon , Sharmistha Chanda Tista

In this paper, we present a new data structure called the packed compact trie (packed c-trie) which stores a set $S$ of $k$ strings of total length $n$ in $n \log\sigma + O(k \log n)$ bits of space and supports fast pattern matching queries…

Data Structures and Algorithms · Computer Science 2017-10-11 Takuya Takagi , Shunsuke Inenaga , Kunihiko Sadakane , Hiroki Arimura

A binary trie is a sequential data structure for a dynamic set on the universe $\{0,\dots,u-1\}$ supporting Search with $O(1)$ worst-case step complexity, and Insert, Delete, and Predecessor operations with $O(\log u)$ worst-case step…

Data Structures and Algorithms · Computer Science 2025-09-04 Jeremy Ko

We consider the problem of implementing a space-efficient dynamic trie, with an emphasis on good practical performance. For a trie with $n$ nodes with an alphabet of size $\sigma$, the information-theoretic lower bound is $n \log \sigma +…

Data Structures and Algorithms · Computer Science 2017-04-20 Andreas Poyias , Simon J. Puglisi , Rajeev Raman

Ctrie is a scalable concurrent non-blocking dictionary data structure, with good cache locality, and non-blocking linearizable iterators. However, operations on most existing concurrent hash tries run in O(log n) time. In this technical…

Data Structures and Algorithms · Computer Science 2017-12-29 Aleksandar Prokopec

A keyword dictionary is an associative array whose keys are strings. Recent applications handling massive keyword dictionaries in main memory have a need for a space-efficient implementation. When limited to static applications, there are a…

Data Structures and Algorithms · Computer Science 2020-07-23 Shunsuke Kanda , Dominik Köppl , Yasuo Tabei , Kazuhiro Morita , Masao Fuketa

A \emph{resizable array} is an array that can \emph{grow} and \emph{shrink} by the addition or removal of items from its end, or both its ends, while still supporting constant-time \emph{access} to each item stored in the array given its…

Data Structures and Algorithms · Computer Science 2023-05-30 Robert E. Tarjan , Uri Zwick

Most of the attention in statistical compression is given to the space used by the compressed sequence, a problem completely solved with optimal prefix codes. However, in many applications, the storage space used to represent the prefix…

Data Structures and Algorithms · Computer Science 2015-06-30 Travis Gagie , Gonzalo Navarro , Yakov Nekrich , Alberto Ordóñez

Consistent hashing is a technique that can minimize key remapping when the number of hash buckets changes. The paper proposes a fast consistent hash algorithm (called power consistent hash) that has $O(1)$ expected time for key lookup,…

Data Structures and Algorithms · Computer Science 2023-12-29 Eric Leu

Indexing a set of strings for prefix search or membership queries is a fundamental task with many applications such as information retrieval or database systems. A classic abstract data type for modelling such an index is a trie. Due to the…

Data Structures and Algorithms · Computer Science 2024-03-11 Hideo Bannai , Keisuke Goto , Shunsuke Kanda , Dominik Köppl

In today's world of computers, dealing with huge amounts of data is not unusual. The need to distribute this data in order to increase its availability and increase the performance of accessing it is more urgent than ever. For these reasons…

Data Structures and Algorithms · Computer Science 2012-05-03 Aridj Mohamed , Zegour Djamel Eddine

Randomised algorithms often employ methods that can fail and that are retried with independent randomness until they succeed. Randomised data structures therefore often store indices of successful attempts, called seeds. If $n$ such seeds…

Data Structures and Algorithms · Computer Science 2025-07-03 Hans-Peter Lehmann , Peter Sanders , Stefan Walzer , Jonatan Ziegler

A hash table is said to be open-addressed (or non-obliviously open-addressed) if it stores elements (and free slots) in an array with no additional metadata. Intuitively, open-addressed hash tables must incur a space-time tradeoff: The…

Data Structures and Algorithms · Computer Science 2025-03-19 Michael A. Bender , William Kuszmaul , Renfei Zhou

We introduce PaCHash, a hash table that stores its objects contiguously in an array without intervening space, even if the objects have variable size. In particular, each object can be compressed using standard compression techniques. A…

Data Structures and Algorithms · Computer Science 2022-11-09 Florian Kurpicz , Hans-Peter Lehmann , Peter Sanders

Perfect hash functions can potentially be used to compress data in connection with a variety of data management tasks. Though there has been considerable work on how to construct good perfect hash functions, there is a gap between theory…

Data Structures and Algorithms · Computer Science 2007-05-23 Fabiano C. Botelho , Rasmus Pagh , Nivio Ziviani

We propose a new and easily-realizable distributed hash table (DHT) peer-to-peer structure, incorporating a random caching strategy that allows for {\em polylogarithmic search time} while having only a {\em constant cache} size. We also…

Networking and Internet Architecture · Computer Science 2007-05-23 Nima Sarshar , Vwani Roychowdhury

Recently, randomly mapping vectorial data to strings of discrete symbols (i.e., sketches) for fast and space-efficient similarity searches has become popular. Such random mapping is called similarity-preserving hashing and approximates a…

Machine Learning · Computer Science 2019-10-21 Shunsuke Kanda , Yasuo Tabei

In this paper, we consider the problem of compressing a trie while supporting the powerful \emph{locate} queries: to return the pre-order identifiers of all nodes reached by a path labeled with a given query pattern. Our result builds on…

Data Structures and Algorithms · Computer Science 2020-12-18 Nicola Prezza
‹ Prev 1 2 3 10 Next ›