Btrees - Binary trees using the AVL balancing method.
# yes, do USE the package ... use Btrees; # no constructors # traverse a tree and invoke a function traverse( $tree, $func ); # find a node in a balanced tree $node = bal_tree_find( $tree, $val $cmp ); # add a node in a balanced tree, rebalancing if required ($tree, $node) = bal_tree_add( $tree, $val, $cmp ) # delete a node in a balanced tree, rebalancing if required ($tree, $node) = bal_tree_del( $tree, $val , $cmp )
Btrees uses the AVL balancing method, by G. M. Adelson-Velskii and E.M. Landis. Bit scavenging, as done in low level languages like C, is not used for height balancing since this is too expensive for an interpreter. Instead the actual height of each subtree is stored at each node. A null pointer has a height of zero. A leaf a height of 1. A nonleaf a height of 1 greater than the height of its two children.
Ron Squiers (ron@broadcom.com). Adapted from "Mastering Algorithms with Perl" by Jon Orwant, Jarkko Hietaniemi & John Macdonald. Copyright 1999 O'Reilly and Associates, Inc. All right reserved. ISBN: 1-56592-398-7
To install Btrees, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Btrees
CPAN shell
perl -MCPAN -e shell install Btrees
For more information on module installation, please visit the detailed CPAN module installation guide.