English
Related papers

Related papers: A Lock-free Binary Trie

200 papers

Memory-management support for lock-free data structures is well known to be a tough problem. Recent work has successfully reduced the overhead of such schemes. However, applying memory-management support to a data structure remains complex…

Programming Languages · Computer Science 2018-08-21 Nachshon Cohen

Lifting is a crucial technique in mixed integer programming (MIP) for generating strong valid inequalities, which serve as cutting planes to improve the branch-and-cut algorithm. We first propose an exact sequential lifting algorithm for…

Optimization and Control · Mathematics 2026-02-27 Xintong Wang , Liang Chen , Yu-Hong Dai

We present a simple and provably optimal non-adaptive cell probe data structure for the static dictionary problem. Our data structure supports storing a set of n key-value pairs from [u]x[u] using s words of space and answering key lookup…

Data Structures and Algorithms · Computer Science 2024-04-22 Kasper Green Larsen , Rasmus Pagh , Giuseppe Persiano , Toniann Pitassi , Kevin Yeo , Or Zamir

It has been shown in the indexing literature that there is an essential difference between prefix/range searches on the one hand, and predecessor/rank searches on the other hand, in that the former provably allows faster query resolution.…

Data Structures and Algorithms · Computer Science 2018-04-16 Djamal Belazzougui , Paolo Boldi , Rasmus Pagh , Sebastiano Vigna

We propose new succinct representations of ordinal trees, which have been studied extensively. It is known that any $n$-node static tree can be represented in $2n + o(n)$ bits and a number of operations on the tree can be supported in…

Data Structures and Algorithms · Computer Science 2010-09-27 Gonzalo Navarro , Kunihiko Sadakane

The binary string matching problem consists in finding all the occurrences of a pattern in a text where both strings are built on a binary alphabet. This is an interesting problem in computer science, since binary data are omnipresent in…

Data Structures and Algorithms · Computer Science 2008-10-15 Simone Faro , Thierry Lecroq

Transactional memory (TM) is an inherently optimistic abstraction: it allows concurrent processes to execute sequences of shared-data accesses (transactions) speculatively, with an option of aborting them in the future. Early TM designs…

Distributed, Parallel, and Cluster Computing · Computer Science 2016-03-07 Petr Kuznetsov , Srivatsan Ravi

Let $n$ denote the number of elements currently in a data structure. An in-place heap is stored in the first $n$ locations of an array, uses $O(1)$ extra space, and supports the operations: minimum, insert, and extract-min. We introduce an…

Data Structures and Algorithms · Computer Science 2014-07-15 Stefan Edelkamp , Jyrki Katajainen , Amr Elmasry

Binary, or one-bit, representations of data arise naturally in many applications, and are appealing in both hardware implementations and algorithm design. In this work, we study the problem of data classification from binary data and…

Machine Learning · Computer Science 2017-07-10 Deanna Needell , Rayan Saab , Tina Woolf

Execution of concurrent programs implies frequent switching between different thread contexts. This property perplexes analyzing and reasoning about concurrent programs. Trace simplification is a technique that aims at alleviating this…

Software Engineering · Computer Science 2014-05-20 Mohamed A. El-Zawawy , Mohammad N. Alanazi

Building concurrent spatial trees is more complicated than binary search trees since a space hierarchy should be preserved during modifications. We present a non-blocking quadtree-quadboost-that supports concurrent insert, remove, move, and…

Data Structures and Algorithms · Computer Science 2016-07-13 Keren Zhou , Guangming Tan , Wei Zhou

Most existing approaches to hashing apply a single form of hash function, and an optimization process which is typically deeply coupled to this specific form. This tight coupling restricts the flexibility of the method to respond to the…

Machine Learning · Computer Science 2013-09-10 Guosheng Lin , Chunhua Shen , David Suter , Anton van den Hengel

Linearizability is the gold standard of correctness conditions for shared memory algorithms, and historically has been considered the practical equivalent of atomicity. However, it has been shown [1] that replacing atomic objects with…

Distributed, Parallel, and Cluster Computing · Computer Science 2019-08-29 Sean Ovens , Philipp Woelfel

Priority queues are data structures which store keys in an ordered fashion to allow efficient access to the minimal (maximal) key. Priority queues are essential for many applications, e.g., Dijkstra's single-source shortest path algorithm,…

Data Structures and Algorithms · Computer Science 2015-03-20 Martin Wimmer , Jakob Gruber , Jesper Larsson Träff , Philippas Tsigas

We describe a linearizable, wait-free implementation of a one-bit swap object from a single max register and an unbounded array of test-and-set bits. Each swap operation takes at most three steps. Using standard randomized constructions,…

Distributed, Parallel, and Cluster Computing · Computer Science 2012-10-24 James Aspnes

Recovering high-level type information in binaries is a key task in reverse engineering and binary analysis. Binaries contain very little explicit type information. The structure of binary code is incredibly flexible allowing for ad-hoc…

Programming Languages · Computer Science 2024-09-04 Ian Smith

We present durable implementations for two well known universal primitives -- CAS (compare-and-swap), and its ABA-free counter-part LLSC (load-linked, store-conditional). All our implementations are: writable, meaning they support a Write()…

Distributed, Parallel, and Cluster Computing · Computer Science 2023-02-02 Prasad Jayanti , Siddhartha Jayanti , Sucharita Jayanti

Concurrent hash tables are one of the most important concurrent data structures with numerous applications. Since hash table accesses can dominate the execution time of the overall application, we need implementations that achieve good…

Data Structures and Algorithms · Computer Science 2016-09-07 Tobias Maier , Peter Sanders , Roman Dementiev

A novel adaptive binary decoding algorithm for LDPC codes is proposed, which reduces the decoding complexity while having a comparable or even better performance than corresponding non-adaptive alternatives. In each iteration the variable…

Information Theory · Computer Science 2009-04-24 Ingmar Land , Gottfried Lechner , Lars K. Rasmussen

We present here new mechanisms for hashing data via binary embeddings. Contrary to most of the techniques presented before, the embedding matrix of our mechanism is highly structured. That enables us to perform hashing more efficiently and…

Data Structures and Algorithms · Computer Science 2015-05-14 Krzysztof Choromanski