/rust-avl-tree

An AVL tree implementation in Rust.

Primary LanguageRustGNU General Public License v3.0GPL-3.0

Latest version Documentation

avl-tree-rust

An AVL tree implementation in Rust.

The current implementation stores the nodes in a vec inside the SearchTree struct. The parent of a node and its children are referenced using their index in the vec.

Supported operations:

  • insert
  • lookup

Example

Returning an iterator over the values in the tree:

extern crate avltree;

use avltree::SearchTree;

fn main() {
   let mut tree: SearchTree<u64> = SearchTree::new();
   tree.insert(5);
   tree.insert(2);
   tree.insert(1);
   assert!(tree.iter().zip(vec![1, 2, 5]).all(|(x, y)| *x == y));
}