Skip to content
msaw328Public

About

Implementing a self-balancing AVL Binary Search Tree and using it to implement Set and Map data structures

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

46 Commits

Folders and files

Repository files navigation

rbst328

Binary Search Tree implementation in Rust. For fun and to practice Rust programming.

The plan is as follows:

  1. Have a working BST implementation:
    • ✅ Insertion
    • ✅ Removal
    • ✅ Search
    • Secondary operations:
      • ✅ .clear()
      • ✅ .contains()
      • ✅ .len()
      • ✅ .is_empty()
    • Iterators:
      • ✅ .iter()
      • ✅ .into_iter()
      • ✅ .from_iter() (and .collect())
      • ✅ .extend()
      • ✅ .iter_mut()
  2. Implement Self-balancing using the AVL method:
    • ✅ Insertion
    • ✅ Removal
  3. Add serialization and deserialization from/to bytes:
    • ✅ Serde traits implemented for BSTMap and BSTSet (implementation gated with serde feature flag)
  4. Try sending it over a network, writing to a file or some other way of IPC/data sync
    • Perhaps a simple Redis-style key-value store with persistence to disk?
  5. Optionally: make the code pretty :)

About

Implementing a self-balancing AVL Binary Search Tree and using it to implement Set and Map data structures

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Contributors

Languages