[−][src]Crate search_trees
Utilities for binary search tree, red-black tree, and AVL tree.
search_trees provides utilities to generate search tree data structures:
Examples
Binary Search Tree
use search_trees::prelude::*; let mut bst = BinarySearchTree::new(); bst.insert(3); bst.insert(5); bst.insert(0); println!("height: {}", bst.height()); println!("is_empty: {}", bst.is_empty()); println!("count_leaves: {}", bst.count_leaves()); println!("min: {}", bst.min().unwrap()); println!("max: {}", bst.max().unwrap()); println!("contains 1: {}", bst.contains(1)); println!("contains 10: {}", bst.contains(10)); print!("print_inorder: "); bst.print_inorder();
Red-black Tree
use search_trees::prelude::*; let mut rbt = RedBlackTree::new(); rbt.insert(3); rbt.insert(5); rbt.insert(0); println!("height: {}", rbt.height()); println!("is_empty: {}", rbt.is_empty()); println!("count_leaves: {}", rbt.count_leaves()); println!("min: {}", rbt.min().unwrap()); println!("max: {}", rbt.max().unwrap()); println!("contains 2: {}", rbt.contains(2)); println!("contains 10: {}", rbt.contains(0)); print!("print_inorder: "); rbt.print_inorder();
AVL Tree
use search_trees::prelude::*; let mut avl = AVLTree::new(); avl.insert(3); avl.insert(5); avl.insert(0); println!("height: {}", avl.height()); println!("is_empty: {}", avl.is_empty()); println!("count_leaves: {}", avl.count_leaves()); println!("min: {}", avl.min().unwrap()); println!("max: {}", avl.max().unwrap()); println!("contains 2: {}", avl.contains(2)); println!("contains 10: {}", avl.contains(10)); print!("print_inorder: "); avl.print_inorder();
Modules
avltree | AVL tree |
base | An automatically-implemented extension trait for nodes and trees |
bstree | Binary search tree |
prelude | Convenience re-export of common members |
rbtree | Red-black tree |