Fast Dynamic Arrays

11/01/2017
by   Philip Bille, et al.
0

We present a highly optimized implementation of tiered vectors, a data structure for maintaining a sequence of n elements supporting access in time O(1) and insertion and deletion in time O(n^ϵ) for ϵ > 0 while using o(n) extra space. We consider several different implementation optimizations in C++ and compare their performance to that of vector and multiset from the standard library on sequences with up to 10^8 elements. Our fastest implementation uses much less space than multiset while providing speedups of 40× for access operations compared to multiset and speedups of 10.000× compared to vector for insertion and deletion operations while being competitive with both data structures for all other operations.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
04/04/2019

Proving tree algorithms for succinct data structures

Succinct data structures give space-efficient representations of large a...
research
03/26/2018

Extra Space during Initialization of Succinct Data Structures and of Dynamical Initializable Arrays

Many succinct data structures on a word RAM require precomputed tables t...
research
05/17/2022

Reasoning About Vectors using an SMT Theory of Sequences

Dynamic arrays, also referred to as vectors, are fundamental data struct...
research
04/20/2020

Black-White Array: A New Data Structure for Dynamic Data Sets

A new array based data structure named black-white array (BWA) is introd...
research
10/04/2019

RDMA vs. RPC for Implementing Distributed Data Structures

Distributed data structures are key to implementing scalable application...
research
01/27/2022

Predecessor on the Ultra-Wide Word RAM

We consider the predecessor problem on the ultra-wide word RAM model of ...
research
12/07/2021

SpaceSaving^±: An Optimal Algorithm for Frequency Estimation and Frequent items in the Bounded Deletion Model

In this paper, we propose the first deterministic algorithms to solve th...

Please sign up or login with your details

Forgot password? Click here to reset