A Cargo Workspace storing practice implementations of various data structures and algorithms in Rust.
- Undirected Graph
- Breadth First Search
- Depth First Search
- Graph - Optionally can be directed & weighted
- Breadth First Search
- Depth First Search
- Dijkstra's Shortest Path
- Binary Tree
- Depth First Search - Pre, In and Post Order
- Breadth First Search
- Binary Search Tree
- Binary Heap
- API allows the creation of a Min Heap, Max Heap or Priority Queue
If you've just stumbled across this Repo, you'll need Rust installed to use it. If you don't have Rust installed you can find the offical getting started guide here. Upon installing Rust, you'll also have access to cargo
which is Rust's package manager and is generally the CLI used to interact with Rust code.
Most of the libraries in this workspace are documented inline with rustdoc
, to build the docs use Cargo.
TL;DR: Navigate to the project root and run:
# to build the docs:
cargo doc
# By default they'll be found somewhere like `./target/doc/{crate_name}/index.html`
# if you want them to open in the browser after building
cargo doc --open
Tests can be run throughout the entire workspace by running cargo test
at the root project level. Alternatively tests
can be run on each library by navigating to the library root and running the same command.