/Algorithms

Collection of algorithms in multiple programming languages.

Primary LanguageC++Apache License 2.0Apache-2.0

Algorithms Example

This repository contains examples of various algorithms which were written on different programming languages.

Implemented algorithms with languages:

Language Java Python Rust C C++ JavaScript Go C# Ruby Swift Racket Perl Crystal Kotlin Haskell
A*Search πŸ‘ πŸ‘
BellmanFord πŸ‘ πŸ‘
BestFirstSearch πŸ‘ πŸ‘ πŸ‘
BinaryGCD πŸ‘
BinarySearch πŸ‘ πŸ‘ πŸ‘ πŸ‘ πŸ‘ πŸ‘ πŸ‘ πŸ‘ πŸ‘ πŸ‘
Binary Search Modified πŸ‘
Bitap Algorithm πŸ‘ πŸ‘
BitonicSort πŸ‘
BreadthFirstSearch πŸ‘ πŸ‘ πŸ‘
Borwein's Algorithm πŸ‘ πŸ‘ πŸ‘
BubbleSort πŸ‘ πŸ‘ πŸ‘ πŸ‘ πŸ‘ πŸ‘ πŸ‘ πŸ‘ πŸ‘ πŸ‘
Conjugate Gradient πŸ‘ πŸ‘
CountingInversions πŸ‘ πŸ‘
CountingSort πŸ‘ πŸ‘ πŸ‘ πŸ‘
CycleSort πŸ‘ πŸ‘ πŸ‘
DepthFirstSearch πŸ‘ πŸ‘ πŸ‘ πŸ‘
Dijkstra's πŸ‘ πŸ‘ πŸ‘ πŸ‘ πŸ‘
Dynamic programming πŸ‘
Doomsday πŸ‘ πŸ‘ πŸ‘ πŸ‘ πŸ‘ πŸ‘ πŸ‘
EditDistance πŸ‘ πŸ‘
Edmonds-Karp πŸ‘
ElevatorAlgorithm πŸ‘
Fast Fourier Transform πŸ‘ πŸ‘ πŸ‘ πŸ‘ πŸ‘
Fibonacci πŸ‘ πŸ‘ πŸ‘ πŸ‘ πŸ‘ πŸ‘ πŸ‘ πŸ‘ πŸ‘ πŸ‘ πŸ‘
FisherYatesShuffle πŸ‘ πŸ‘ πŸ‘ πŸ‘ πŸ‘
FloodFill Algorithm πŸ‘ πŸ‘
Floyd'sAlgorithm πŸ‘ πŸ‘ πŸ‘
Greatest Common Divisor πŸ‘ πŸ‘ πŸ‘ πŸ‘ πŸ‘ πŸ‘ πŸ‘ πŸ‘
Hamming Distance πŸ‘ πŸ‘ πŸ‘ πŸ‘ πŸ‘ πŸ‘
HeapSort πŸ‘ πŸ‘ πŸ‘ πŸ‘ πŸ‘ πŸ‘ πŸ‘
Histogram equalization πŸ‘
InsertionSort πŸ‘ πŸ‘ πŸ‘ πŸ‘ πŸ‘ πŸ‘ πŸ‘ πŸ‘ πŸ‘
Inverse Fast Fourier Transform πŸ‘
Johnson algorithm πŸ‘ πŸ‘ πŸ‘
Kadane's algorithm πŸ‘ πŸ‘ πŸ‘ πŸ‘ πŸ‘ πŸ‘ πŸ‘
Knuth Morris Prath Algorithm πŸ‘ πŸ‘ πŸ‘
Leaky-Bucket πŸ‘
LinearSearch πŸ‘ πŸ‘ πŸ‘ πŸ‘ πŸ‘ πŸ‘ πŸ‘ πŸ‘ πŸ‘
Longest common subsequence πŸ‘ πŸ‘ πŸ‘ πŸ‘ πŸ‘
Longest increasing subsequence πŸ‘ πŸ‘ πŸ‘
LongestPath πŸ‘ πŸ‘
MergeSort πŸ‘ πŸ‘ πŸ‘ πŸ‘ πŸ‘ πŸ‘ πŸ‘ πŸ‘ πŸ‘
MiniMax with alpha–beta pruning πŸ‘
Pearson Hashing πŸ‘
Postman Sort πŸ‘
Quick Sort πŸ‘ πŸ‘ πŸ‘ πŸ‘ πŸ‘ πŸ‘ πŸ‘ πŸ‘ πŸ‘
Quick Select πŸ‘ πŸ‘ πŸ‘ πŸ‘
Uniform-cost search πŸ‘ πŸ‘ πŸ‘
RadixSort πŸ‘ πŸ‘ πŸ‘
Rabin-Karp πŸ‘ πŸ‘
SelectionSort πŸ‘ πŸ‘ πŸ‘ πŸ‘ πŸ‘ πŸ‘ πŸ‘ πŸ‘ πŸ‘
SelectionSort (Descending) πŸ‘
ShellSort πŸ‘ πŸ‘ πŸ‘ πŸ‘
Sieve of Eratosthenes πŸ‘ πŸ‘ πŸ‘ πŸ‘ πŸ‘
UnaryCoding πŸ‘ πŸ‘ πŸ‘
VEGAS Algorithm πŸ‘
Tarjan'sOff-LineLCA πŸ‘
TernarySearch πŸ‘ πŸ‘ πŸ‘ πŸ‘
Topological Sort πŸ‘
Segmented Sieve πŸ‘ πŸ‘ πŸ‘
Union Find πŸ‘ πŸ‘ πŸ‘
Xor swap πŸ‘ πŸ‘ πŸ‘ πŸ‘ πŸ‘ πŸ‘
Connected-component labeling πŸ‘
Extended Euclidean algorithm πŸ‘
Knapsack problem πŸ‘

List of Algorithms

Folder structure should be like this [Algorithm name]/[language]/file

For example:

  • BubbleSort/Go/BubbleSort.go
  • QuickSort/C++/QuickSort.cpp

License

Apache License 2.0