English
Related papers

Related papers: Efficient Lock-free Binary Search Trees

200 papers

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

In this paper we introduce the notion of explicit worst-case bounded adaptive algorithms for applications with fixed process-completion requirements. Such applications demand that a process be guaranteed to complete within an established…

Data Structures and Algorithms · Computer Science 2022-07-19 Haley Massa , Jeffrey Uhlmann

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

Tree data structures, such as red-black trees, quad trees, treaps, or tries, are fundamental tools in computer science. A classical problem in concurrency is to obtain expressive, efficient, and scalable versions of practical tree data…

Databases · Computer Science 2023-10-10 Ilya Kokorin , Dan Alistarh , Vitaly Aksenov

Uniquely represented data structures represent each logical state with a unique storage state. We study the problem of maintaining a dynamic set of $n$ keys from a totally ordered universe in this context. We introduce a two-layer data…

Data Structures and Algorithms · Computer Science 2023-03-09 Roodabeh Safavi , Martin P. Seybold

Binary search trees (BSTs) with rotations can adapt to various kinds of structure in search sequences, achieving amortized access times substantially better than the Theta(log n) worst-case guarantee. Classical examples of structural…

Data Structures and Algorithms · Computer Science 2016-03-17 Parinya Chalermsook , Mayank Goswami , László Kozma , Kurt Mehlhorn , Thatchaphol Saranurak

The ordered set is one of the most important data type in both theoretical algorithm design and analysis and practical programming. In this paper we study the set operations on two ordered sets, including Union, Intersect and Difference,…

Data Structures and Algorithms · Computer Science 2016-11-15 Guy Blelloch , Daniel Ferizovic , Yihan Sun

Binary search trees (BSTs) are one of the most basic and widely used data structures. The best static tree for serving a sequence of queries (searches) can be computed by dynamic programming. In contrast, when the BSTs are allowed to be…

Data Structures and Algorithms · Computer Science 2023-03-07 Yaniv Sadeh , Haim Kaplan

Algorithms that use hardware transactional memory (HTM) must provide a software-only fallback path to guarantee progress. The design of the fallback path can have a profound impact on performance. If the fallback path is allowed to run…

Distributed, Parallel, and Cluster Computing · Computer Science 2017-08-17 Trevor Brown

It is becoming increasingly difficult to improve the performance of a a single process (thread) on a computer due to physical limitations. Modern systems use multi-core processors in which multiple processes (threads) may run concurrently.…

Distributed, Parallel, and Cluster Computing · Computer Science 2024-11-05 Jordan Malek

Balanced search trees are widely used in computer science to efficiently maintain dynamic ordered data. To support efficient set operations (e.g., union, intersection, difference) using trees, the join-based framework is widely studied.…

Data Structures and Algorithms · Computer Science 2025-10-24 Michael Goodrich , Yan Gu , Ryuto Kitagawa , Yihan Sun

We present a formal framework for proving the correctness of set implementations backed by binary-search-tree (BST) and linked lists, which are often difficult to prove correct using automation. This is because many concurrent set…

Programming Languages · Computer Science 2023-05-16 Uri Abraham , Avi Hayoun

In concurrent data structures, the efficiency of set operations can vary significantly depending on the workload characteristics. Numerous concurrent set implementations are optimized and fine-tuned to excel in scenarios characterized by…

Distributed, Parallel, and Cluster Computing · Computer Science 2025-07-29 Daniel Manor , Mor Perry , Moshe Sulamy

We present a general method for de-amortizing essentially any Binary Search Tree (BST) algorithm. In particular, by transforming Splay Trees, our method produces a BST that has the same asymptotic cost as Splay Trees on any access sequence…

Data Structures and Algorithms · Computer Science 2011-11-08 Prosenjit Bose , Sébastien Collette , Rolf Fagerberg , Stefan Langerman

Algorithms for dynamically maintaining minimum spanning trees (MSTs) have received much attention in both the parallel and sequential settings. While previous work has given optimal algorithms for dense graphs, all existing parallel…

Data Structures and Algorithms · Computer Science 2020-10-27 Daniel Anderson , Guy E. Blelloch , Kanat Tangwongsan

A dynamic forest data structure maintains a forest (and associated data like edge weights) under edge insertions and deletions. Dynamic forests are widely used to solve online and offline graph problems. Well-known examples of dynamic…

Data Structures and Algorithms · Computer Science 2024-01-09 Benjamin Aram Berendsohn

A non-blocking chromatic tree is a type of balanced binary search tree where multiple processes can concurrently perform search and update operations. We prove that a certain implementation has amortized cost $O(\dot{c} + \log n)$ for each…

Distributed, Parallel, and Cluster Computing · Computer Science 2018-11-16 Jeremy Ko

We present a new connection between self-adjusting binary search trees (BSTs) and heaps, two fundamental, extensively studied, and practically relevant families of data structures. Roughly speaking, we map an arbitrary heap algorithm within…

Data Structures and Algorithms · Computer Science 2019-01-01 László Kozma , Thatchaphol Saranurak

We present a new non-blocking doubly-linked list implementation for an asynchronous shared-memory system. It is the first such implementation for which an upper bound on amortized time complexity has been proved. In our implementation,…

Distributed, Parallel, and Cluster Computing · Computer Science 2014-08-11 Niloufar Shafiei

The complexity of an algorithm is an important parameter to determine its effi-ciency. They are of different types viz. Time complexity, Space complexity, etc. However, none of them consider the execution path as a complexity measure. Ashok…

Computational Complexity · Computer Science 2014-04-21 Nishant Doshi