The Algorithms - Rust
All algorithms implemented in Rust
These are for demonstration purposes only.
Sort Algorithms
- Bubble
- Bucket
- Cocktail-Shaker
- Counting
- Cycle
- Exchange
- Heap
- Insertion
- Gnome
- Merge
- Odd-even
- Pancake
- Pigeonhole
- Quick
- Radix
- Selection
- Shell
- Stooge
- Comb
- Bucket
- Timsort
Graphs
- Dijkstra
- Kruskal's Minimum Spanning Tree
- Prim's Minimum Spanning Tree
- Breadth-First Search (BFS)
- Depth First Search (DFS)
- Bellman-Ford
- Prufer Code
- Lowest Common Ancestor
- Heavy Light Decomposition
- Tarjan's Strongly Connected Components
- Topological sorting
- Centroid Decomposition
- Dinic's Max Flow
Math
- Baby-Step Giant-Step Algorithm
- Extended euclidean algorithm
- Gaussian Elimination
- Greatest common divisor
- Greatest common divisor of n numbers
- Least common multiple of n numbers
- Miller Rabin primality test
- Pascal's triangle
- Square root with Newton's method
- Fast power algorithm
- Perfect number
- Prime factors
- Prime number
- Linear Sieve
- Pollard's Rho algorithm
- Quadratic Residue
- Simpson's Rule for Integration
- Fast Fourier Transform
- Armstrong Number
- Permuted Congruential Random Number Generator
- Zeller's Congruence Algorithm
- Karatsuba Multiplication Algorithm
Dynamic Programming
- 0-1 Knapsack
- Edit Distance
- Longest common subsequence
- Longest continuous increasing subsequence
- Longest increasing subsequence
- K-Means Clustering
- Coin Change
- Rod Cutting
- Egg Dropping Puzzle
- Maximum Subarray
- Is Subsequence
- Maximal Square
Data Structures
- Queue
- Heap
- Linked List
- Graph
- Trie
- Binary Search Tree
- B-Tree
- AVL Tree
- RB Tree
- Stack using Linked List
- Segment Tree
- Fenwick Tree
- Union-find
Strings
- Aho-Corasick Algorithm
- Burrows-Wheeler transform
- Knuth Morris Pratt
- Manacher
- Rabin Carp
- Reverse
- Hamming Distance
General
- Convex Hull: Graham Scan
- N-Queens Problem
- Graph Coloringp
- Tower of Hanoi
- Kmeans
- Two Sum
- Huffman Encoding
Search Algorithms
Geometry
Ciphers
All implemented Algos
See DIRECTORY.md
Contributing
See CONTRIBUTING.md