Description

Package avl includes an immutable AVL tree.

AVL trees can be used as the foundation for many functional data types. Combined with a B+ tree, you can make an immutable index which serves as the backbone for many different kinds of key/value stores.

Time complexities: Space: O(n) Insert: O(log n) Delete: O(log n) Get: O(log n)

The immutable version of the AVL tree is obviously going to be slower than the mutable version but should offer higher read availability.

avl is referenced in 1 repository

github.com/Workiva/go-datastructures