Publication | Closed Access
Just Join for Parallel Ordered Sets
54
Citations
24
References
2016
Year
Unknown Venue
EngineeringAlgorithmic LibraryAnalysis Of AlgorithmComputational ComplexityParallel MetaheuristicsParallel AlgorithmsData ScienceAlgorithm DesignParallel Complexity TheoryBalancing SchemeDiscrete MathematicsParallel ComputingCombinatorial OptimizationPolylog SpanOrder TheoryParallel Ordered SetsSorting AlgorithmComputer ScienceInteger ProgrammingTheory Of ComputingBalanced TreesParallel Programming
Ordered sets (and maps when data is associated with each key) are one of the most important and useful data types. The set-set functions union, intersection and difference are particularly useful in certain applications. Brown and Tarjan first described an algorithm for these functions, based on 2-3 trees, that meet the optimal Θ(m log (n/m+1)) time bounds in the comparison model (n and m ≤ n are the input sizes). Later Adams showed very elegant algorithms for the functions, and others, based on weight-balanced trees. They only require a single function that is specific to the balancing scheme---a function that joins two balanced trees---and hence can be applied to other balancing schemes. Furthermore the algorithms are naturally parallel. However, in the twenty-four years since, no one has shown that the algorithms, sequential or parallel are asymptotically work optimal. In this paper we show that Adams' algorithms are both work efficient and highly parallel (polylog span) across four different balancing schemes---AVL trees, red-black trees, weight balanced trees and treaps. To do this we use careful, but simple, algorithms for Join that maintain certain invariants, and our proof is (mostly) generic across the schemes.
| Year | Citations | |
|---|---|---|
Page 1
Page 1