Gtreap implements an immutable treap data structure in golang.
.
By treap, this data structure is both a heap and a binary search tree.
.
By immutable, any updates/deletes to a treap will return a new treap
which can share internal nodes with the previous treap. All nodes in this
implementation are read-only after their creation. This allows concurrent
readers to operate safely with concurrent writers as modifications only
create new data structures and never modify existing data structures.
This is a simple approach to achieving MVCC or multi-version concurrency
control.
.
By heap, items in the treap follow the heap-priority property, where a
parent node will have higher priority than its left and right children
nodes.
.
By binary search tree, items are store lexigraphically, ordered by a
user-supplied Compare function.
Installed Size: 29.7 kB
Architectures: all