Loading...
Immutable vectors are a convenient data structure for functional programming and part of the standard library of modern languages like Clojure and Scala. The common implementation is based on wide trees with a fixed number of children per node, which allows fast indexed lookup and update operations. In this paper we extend the vector data type with a new underlying data structure, Relaxed Radix Balanced Trees (RRB-Trees), and show how this structure allows immutable vector concatenation, insert-at and splits in O(log N) time while maintaining the index, update and iteration speeds of the original vector data structure.
Loading...
Name
RMTrees.pdf
Type
Preprint
Access type
openaccess
Size
264.71 KB
Format
Adobe PDF
Checksum (MD5)
746970cf16d071b634cd474f0eea5275