# rusty_algo 🦀 ![Build Status](https://github.com/iamlucasvieira/rusty_algo/actions/workflows/rust.yml/badge.svg) ![GitHub License](https://img.shields.io/github/license/iamlucasvieira/rusty_algo?link=https%3A%2F%2Fgithub.com%2Fiamlucasvieira%2Frusty_algo%2Fblob%2Fmain%2FLICENSE) [![docs.rs](https://img.shields.io/docsrs/rusty_algo?link=docs.rs%2Frusty_algo&link=docs.rs%2Frusty_algo)](https://docs.rs/rusty_algo/) [![Crates.io Total Downloads](https://img.shields.io/crates/d/rusty_algo?link=https%3A%2F%2Fcrates.io%2Fcrates%2Frusty_algo&link=https%3A%2F%2Fcrates.io%2Fcrates%2Frusty_algo)](https://crates.io/crates/rusty_algo) A Rust library implementing algorithms from the classic "Introduction to Algorithms" book. ## Installation ### Option 1: Run the following Cargo command in your project directory: ```bash cargo add rusty_algo ``` ### Option 2: Add the following to your `Cargo.toml` under `[dependencies]`: ```toml [dependencies] rusty_algo = "0.1.0" ``` ## Algorithms Implemented ### Sorting Algorithms - [x] Insertion Sort - [ ] Merge Sort - [ ] Quicksort - [ ] Heap Sort - [ ] Counting Sort - [ ] Radix Sort - [ ] Bucket Sort ### Data Structures - [ ] Arrays - [ ] Stacks - [ ] Queues - [ ] Linked Lists - [ ] Binary Trees - [ ] Heaps - [ ] Hash Tables - [ ] Red-Black Trees ### Divide and Conquer - [ ] Binary Search - [ ] Strassen’s Matrix Multiplication - [ ] Merge Sort ### Graph Algorithms - [ ] Breadth-First Search (BFS) - [ ] Depth-First Search (DFS) - [ ] Dijkstra’s Algorithm - [ ] Kruskal’s Algorithm - [ ] Prim’s Algorithm ### Dynamic Programming - [ ] Longest Common Subsequence - [ ] Matrix Chain Multiplication - [ ] Knapsack Problem - [ ] Rod Cutting ### Greedy Algorithms - [ ] Huffman Coding - [ ] Activity Selection Problem ### Advanced Data Structures - [ ] B-Trees - [ ] Disjoint Set (Union-Find) - [ ] Interval Trees