This implementation of an AVL Tree has been uploaded
It was initially a translation of the Java version on Rosetta Code.
In addition to the translated code, other public methods have been
added as shown by the asterisk in the following list of all public
- insert node
- delete node
- show all node keys
- show all node balances
- *delete nodes by a list of node keys
- *find and return node objects by key
- *attach data per node
- *return list of all node keys
- *return list of all node objects
See the example in the Github repository and on Rosetta Code.
# ...create a tree and some nodes...
my $tree = AVL-Tree.new;
$tree.insert: 2, :data\<some important tidbit of knowledge\>;
$my $n = $tree.find: 2;
some importatant tidbit of knowledge
See the internal documentation in the terminal window
$ p6doc AVL-Tree
Thanks for help from IRC
thundergnat (for the idea and check of the initial version)
COPYRIGHT & LICENSE
Copyright (c) 2019 Tom Browder, all rights reserved.
This program is free software; you can redistribute it or modify
it under the same terms as Perl 6 itself.
See that license here.