#tree #avl #node #index #iterator #search-tree

avltree

A very simple AVL tree implementation

1 unstable release

Uses old Rust 2015

0.1.0 Oct 26, 2018

#8 in #avl

GPL-3.0-or-later

25KB
450 lines

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));
}

Dependencies

~320–540KB