Crates.io | dynforest |
lib.rs | dynforest |
version | 0.2.0 |
source | src |
created_at | 2023-04-09 04:01:29.862102 |
updated_at | 2023-04-10 20:23:58.003232 |
description | dynamic forest management |
homepage | https://github.com/schrodingerzhu/dynforest |
repository | https://github.com/schrodingerzhu/dynforest |
max_upload_size | |
id | 833928 |
size | 33,070 |
This crate provides a data structure to handle dynamic tree connectivity. Both incremental and decremental operations are supported with amortized O(log n) time complexity.
As the underlying data structure is a Splay tree, this crate works best with the situation where the working set is relatively small.
To represent a node in the forest, one can create a handle via [Handle::new
].
To connect two nodes, one can use [Handle::connect
]. This will return a [Connection
], which
will keep the two nodes connected until it is dropped.