2 releases
0.1.1 | May 12, 2019 |
---|---|
0.1.0 | May 12, 2019 |
#124 in #zip
31KB
805 lines
Zip tree in Rust
Overview
This project implements Tarjan's zip tree, a treap-like data structure with different insertion and deletion algorithms. The node ranks are organized like that in skip-list. You can visit Tarjans's paper to learn more details.
Implementation
The ZipTree API mimics standard library's BTreeMap interface. It provides insertion, deletion,
and iterator interface. Zip tree supports clone()
via O(n) deep copy.
License
The project is published with MIT license.
lib.rs
:
Tarjan's zip tree implementation in Rust.
Zip tree is a treap with different insertion and deletion algorithms. It organizes node ranks like skip list, but takes less space than skip list. Insertion and deletion are done by zip and unzip operations instead of a series of tree rotations. You can see Tarjans's paper for more details.
Dependencies
~570–800KB
~11K SLoC