An open API service indexing awesome lists of open source software.

https://github.com/deutranium/algorithms

Short explanations and implementations of different algorithms in multiple languages
https://github.com/deutranium/algorithms

algorithms good-first-issue hacktoberfest hacktoberfest2020 hacktoberfest2021 hacktoberfest2022 hacktoberfest2023 primality-test searching-algorithms sort sorting-algorithms

Last synced: 2 months ago
JSON representation

Short explanations and implementations of different algorithms in multiple languages

Awesome Lists containing this project

README

          

[![Created Badge](https://badges.pufler.dev/created/deutranium/Algorithms)](https://badges.pufler.dev)
[![Updated Badge](https://badges.pufler.dev/updated/deutranium/Algorithms)](https://badges.pufler.dev)

[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](http://makeapullrequest.com)
[![GitHub contributors](https://img.shields.io/github/contributors/deutranium/Algorithms.svg)](https://GitHub.com/deutranium/Algorithms/graphs/contributors/)

[![GitHub pull-requests](https://img.shields.io/github/issues-pr/deutranium/Algorithms.svg)](https://GitHub.com/deutranium/Algorithms/pull/)
[![GitHub pull-requests closed](https://img.shields.io/github/issues-pr-closed/deutranium/Algorithms.svg)](https://github.com/deutranium/Algorithms/pulls?q=is%3Apr+is%3Aclosed)
[![GitHub issues](https://img.shields.io/github/issues/deutranium/Algorithms.svg)](https://GitHub.com/deutranium/Algorithms/issues/)
[![GitHub issues-closed](https://img.shields.io/github/issues-closed/deutranium/Algorithms.svg)](https://GitHub.com/deutranium/Algorithms/issues?q=is%3Aissue+is%3Aclosed)

# 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](#searching-algorithms)
- [Sorting](#sorting-algorithms)
- [Primality Test](#primality-test)
- [Classic algorithms](#classic-algorithms)


### [Searching Algorithms](searchingAlgo)
- [Binary Search](searchingAlgo/binarySearch)
- [Breadth First Search](searchingAlgo/breadthFirstSearch)
- [Depth First Search](searchingAlgo/depthFirstSearch)
- [Exponential Search](searchingAlgo/exponentialSearch)
- [Fibonacci Search](searchingAlgo/fibonacciSearch)
- [Interpolation Search](searchingAlgo/interpolationSearch)
- [Jump Search](searchingAlgo/jumpSearch)
- [KMP Search](searchingAlgo/kmpSearch)
- [Linear Search](searchingAlgo/linearSearch)
- [Rabin-Karp Search](searchingAlgo/rabinKarpSearch)
- [Sublist Search](searchingAlgo/sublistSearch)
- [Ternary Search](searchingAlgo/ternarySearch)

### [Sorting Algorithms](sortingAlgo)
- [Bucket Sort](sortingAlgo/bucketsort)
- [Bubble Sort](sortingAlgo/bubbleSort)
- [Cocktail Sort](sortingAlgo/cocktailSort)
- [Comb Sort](sortingAlgo/combSort)
- [Counting Sort](sortingAlgo/countingSort)
- [Cycle Sort](sortingAlgo/cycleSort)
- [Heap Sort](sortingAlgo/heapSort)
- [Insertion Sort](sortingAlgo/insertionSort)
- [Merge Sort](sortingAlgo/mergeSort)
- [Pigeonhole Sort](sortingAlgo/pigeonholeSort)
- [Quick Sort](sortingAlgo/quickSort)
- [Radix Sort](sortingAlgo/radixSort)
- [Selection Sort](sortingAlgo/selectionSort)
- [Shell Sort](sortingAlgo/shellSort)
- [Tim Sort](sortingAlgo/timSort)

### [Primality Test](primalityTest)
- [Optimised School Method](primalityTest/optimisedSchoolMethod) (Check factors till √n)
- [Fermat Method](primalityTest/fermatMethod)
- [Miller-Rabin Method](primalityTest/millerRabinMethod)
- [Sieve of Eratosthenes](primalityTest/Sieve%20of%20Eratosthenes)
- [Solovay-Strassen Method](primalityTest/solovayStrassenMethod)

### [Classic Algorithms](classicalAlgos)
- [0/1 Knappsack](classicalAlgos/0-1KnappSack)
- [Dijkstra's Algorithm](classicalAlgos/dijkstrasAlgorithm)
- [Kadane's Algorithm](classicalAlgos/kadanesAlgorithm)
- [Kosaraju's algorithm](classicalAlgos/kosarajusAlgorithm)
- [Kruskal's Algorithm](classicalAlgos/kruskalsAlgorithm)
- [Lowest Common Ancestor](classicalAlgos/lowestCommonAncestorBinaryTrees)
- [Prim's Algorithm](classicalAlgos/primsAlgoMST)
- [Tarjan's algorithm](classicalAlgos/tarjansAlgo)
- [Tries](classicalAlgos/tries)

### [Graph Coloring Algorithms](graphColoringAlgo)
- [Greedy Graph Coloring Algorithm](graphColoringAlgo/greedyGraphColoring)
- [Welsh Powell Algorithm](graphColoringAlgo/welshPowellAlgo)