Algorithms
Algorithms copied to clipboard
Short explanations and implementations of different algorithms in multiple languages
Algorithms
Basically these are supposed to be my notes, but feel free to use them as you wish to.
Note: Please read CONTRIBUTING.md before making any pull requests
TLDR of contributing.md:
- Ensure that no one is working on (or already completed) the algorithm and language you want to work on
- Use descriptive comit messages
- You can create an issue for the algorithm you want to claim and work on
- FOLLOW THE DIRECTORY STRUCTURE AND NAMING CONVENTION
- UPDATE THE README AS YOU WORK ON A NEW ALGO
Types of Algorithms
- Searching
- Sorting
- Primality Test
- Classic algorithms
Searching Algorithms
- Binary Search
- Breadth First Search
- Depth First Search
- Exponential Search
- Fibonacci Search
- Interpolation Search
- Jump Search
- KMP Search
- Linear Search
- Rabin-Karp Search
- Sublist Search
- Ternary Search
Sorting Algorithms
- Bucket Sort
- Bubble Sort
- Cocktail Sort
- Comb Sort
- Counting Sort
- Cycle Sort
- Heap Sort
- Insertion Sort
- Merge Sort
- Pigeonhole Sort
- Quick Sort
- Radix Sort
- Selection Sort
- Shell Sort
- Tim Sort
Primality Test
- Optimised School Method (Check factors till √n)
- Fermat Method
- Miller-Rabin Method
- Sieve of Eratosthenes
- Solovay-Strassen Method
Classic Algorithms
- 0/1 Knappsack
- Dijkstra's Algorithm
- Kadane's Algorithm
- Kosaraju's algorithm
- Kruskal's Algorithm
- Lowest Common Ancestor
- Prim's Algorithm
- Tarjan's algorithm
- Tries
Graph Coloring Algorithms
- Greedy Graph Coloring Algorithm
- Welsh Powell Algorithm