| Crates.io | woodland |
| lib.rs | woodland |
| version | 0.0.4 |
| created_at | 2021-05-08 21:41:19.407682+00 |
| updated_at | 2021-05-13 18:25:32.484217+00 |
| description | Easy to use implementations of popular tree data structures such as Binary, Binary Search, AVL, Red-Black, and more |
| homepage | https://github.com/reaganmcf/woodland |
| repository | |
| max_upload_size | |
| id | 395001 |
| size | 21,519 |
Easy to use implementations of popular tree data structures such as Binary, Binary Search, AVL, Red-Black, and more.
All implementations use Arena based tree structures in order to avoid the mess that is accompanied when implementing graph-like structures in Rust. Not only is this mess avoided, but all of the tree implementations in woodland can be used in multi-threaded contexts.
The inner workings are heavily inspired by saschagrunert's indextree
Instead of linking nodes together using pointers, we instead use an identifier (in our case, NodeId which references a key in a HashMap). This isn't very interesting in other languages, but it is particular interesting in Rust since it's very messy and difficult to implement a Tree using traditional design patterns.
The result is a faster and concurrent tree data structure, with a slightly different API that is still easy to use!
woodland uses the MIT license.