arXiv · 1711.00275
Fast Dynamic Arrays
Abstract
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\times$ for access operations compared to multiset and speedups of $10.000\times$ compared to vector for insertion and deletion operations while being competitive with both data structures for all other operations.
Explore related subjects
Keep this discovery
Explore connections, maps & timelines
Philip Bille, Anders Roy Christiansen, Mikko Berggren Ettienne, Inge Li Gørtz. 2017-11-01. Fast Dynamic Arrays. https://doi.org/10.4230/lipics.esa.2017.16
Cite the original work for its findings. Save a collection to share your selection of sources.