A collection of useful algorithms to know implemented in Java. Each algorithm has its own folder with a .java file containing the Java implementation and a .md file briefly describing how the algorithm works and some of its uses.
##Currently Have
- Binary Search
- Combinations
- Depth First Search
- Greatest Common Denominator
- Knapsack
- LCM
- Levenshtein
- Permutations
- Primality Test
- Sieve of Eratosthenes
- Un-intuitive coins
- A*
- Co-Prime Sets
- Djikstra (using nodes)
- Downhill Mazes
- Factorization
- Flood-Fill
- Greedy Algorithm
- Kadane's Algorithm (Largest Consecutive Sequence)
- Miller Rabbin Primality Test
- Modular Inverses
- Sieve of Sundaram
- Sorts (Bubble, Quick, Merge, Insertion, Selection, Heap, Introspective)
- Word Search