Navigation:  ThinBASIC Language > thinBasic Functions > DataStructures >

AVL Tree

Previous pageReturn to chapter overviewNext page




AVL Tree implements a data structure container able to store/retrieve/delete a Key/Value relationship.


An AVL Tree is a self-balancing binary search tree. In an AVL Tree, the heights of the two child subtrees of any node differ by at most one; if at any time they differ by more than one, rebalancing is done to restore this property.


An AVL Tree containers has the following characteristics:

AVL Self-Balanced Binary Tree
one-to-one Key/Value relationship
Values stored/retrieved/removed using unique lookup Key
Keys must be unique
no limit on Key length
Value replaced if Key exist
Tree always stays in Key order
Tree may be traversed forward/backward in Key order
Tree is self-balanced to maintain shortest average path to each Key



Additional information about AVL Tree


Use Wikipedia as source of information:



How to use in thinBasic


As a minimum, the following are the step required to use an an AVL Tree:

1.use Tree_New to create a new AVL Tree
2.use Tree_Set to add/change key/value pairs
3.use Tree_Get to retrieve key/value pairs
4.use Tree_Free to remove the entire AVL Tree and all associated key/value pairs