🦀 Functional Rust

Algorithm Expert

Classic algorithms, functional style.

Algorithms in idiomatic Rust with OCaml comparisons showing elegant functional decomposition. DP, graphs, strings, and number theory.

👤 Competitive programmers, CS fundamentals 📚 30 examples
Start Path →
1 #784 Fibonacci: Memoisation vs Tabulation DP Advanced 2 #1054 1054: 0/1 Knapsack Intermediate 3 #786 LCS: Classic DP with Backtracking Advanced 4 #787 Edit Distance (Levenshtein) DP Advanced 5 #788 Coin Change: Minimum Coins DP Advanced 6 #789 Longest Increasing Subsequence Expert 7 #798 Kadane's Algorithm: Maximum Subarray Sum Advanced 8 #795 Subset Sum (DP with Bitset Optimisation) Expert 9 #794 Word Break (Dictionary DP) Advanced 10 #799 Bellman-Ford: Shortest Paths with Negative Edges Expert 11 #800 Floyd-Warshall: All-Pairs Shortest Paths Expert 12 #801 Prim's Algorithm: Minimum Spanning Tree Expert 13 #802 Kruskal's MST with Union-Find Expert 14 #803 A* Pathfinding with Manhattan Heuristic Expert 15 #804 Tarjan's Strongly Connected Components Master 16 #808 DFS-Based Topological Sort Advanced 17 #809 Max Flow: Ford-Fulkerson with BFS (Edmonds-Karp) Master 18 #814 814: KMP — Knuth-Morris-Pratt Pattern Matching Expert 19 #816 816: Rabin-Karp Rolling Hash Search Expert 20 #817 817: Aho-Corasick Multi-Pattern Matching Automaton Master 21 #818 818: Suffix Array Construction O(n log n) Master 22 #824 824: Sieve of Eratosthenes Advanced 23 #826 826: GCD, LCM, and the Euclidean Algorithm Advanced 24 #828 828: Fast Modular Exponentiation Advanced 25 #831 831: Miller-Rabin Probabilistic Primality Test Expert 26 #832 832: Extended Euclidean Algorithm Expert 27 #834 834: Convex Hull — Graham Scan Expert 28 #837 837: Closest Pair of Points — Divide and Conquer Master 29 #843 843: Generic Memoization with HashMap Cache Advanced 30 #844 844: Greedy Algorithm Patterns — Activity Selection and Huffman Coding Advanced