Description

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: https://en.wikipedia.org/wiki/AVL_tree

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 |