1 unstable release
0.1.0 | Mar 30, 2023 |
---|
#71 in #tree-node
17KB
366 lines
ELU (EVAL-LINK-UPDATE)
This crate provides traits to describe operations on EVAL-LINK-UPDATE data structures (similar to operations defined by Tarjan in "Applications of Path Compression on Balanced Trees.”).
It also provides implementations of basic EVAL-LINK-UPDATE structures such as forest with path compression on evaluation (see CompressedForest
).
EVAL-LINK-UPDATE Operations
Suppose we have an associative operation ⊕. The three operations made available on forests are:
EVAL
(n)
: find the root of the tree that contains the noden
, let sayr
, and compute the product of all values on the path fromr
ton
(i.evalue(r)
⊕ ... ⊕value(n)
)LINK
(n, m)
: find the root of the tree that contains the nodem
, let sayr
, and link it to the noden
(i.er
becomes a child ofn
)UPDATE
(n, v)
: find the root of the tree that contains the noden
, let sayr
, and replace its value byv