algos icon indicating copy to clipboard operation
algos copied to clipboard

Popular Algorithms and Data Structures implemented in popular languages

Algos

Community (college) maintained list of Algorithms and Data Structures implementations.

Join the chat at https://gitter.im/iiitv/algos Build Status GitHub issues Open Source Love LICENSE Love

js-happiness-style

Implemented Algorithms

Algorithm C CPP Java Python Golang JavaScript C#
Bin Sort :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark:
Binary Search :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark:
Breadth First Search :white_check_mark: :white_check_mark:
Breadth First Traversal :white_check_mark:
Coin Change Problem :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark:
Counting Sort :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark:
Depth First Traversal :white_check_mark: :white_check_mark:
Dijkstra Algorithm :white_check_mark: :white_check_mark: :white_check_mark:
Euclidean GCD :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark:
Exponentiation by Squaring :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark:
Heap Sort :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark:
Insertion Sort :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark:
k-NN :white_check_mark:
Largest Sum Contiguous Subarray :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark:
Linear Regression :white_check_mark:
Linear Search :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark:
Longest Common Subsequence :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark:
Longest Palindromic Substring :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark:
Merge Sort :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark:
Modular Exponential :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark:
Nth Fibonacci Number :white_check_mark:
N-Queen Problem :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark:
Prime Factor :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark:
Prims :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark:
Quick Select :white_check_mark: :white_check_mark: :white_check_mark:
Quicksort :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark:
Radix Sort :white_check_mark: :white_check_mark: :white_check_mark:
Rod Cutting Problem :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark:
Shell Sort :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark:
Sieve of Eratosthenes :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark:
Sleep Sort :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark:

Implemented Data Structures

Data Structure C CPP Java Python Golang JavaScript C#
AVL Tree :white_check_mark: :white_check_mark:
Binary Search Tree :white_check_mark: :white_check_mark: :white_check_mark:
Linked List :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark:
Queue :white_check_mark:
Stack :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark:
Trie :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark:
Queue :white_check_mark:

How to run them

Language Steps
C
gcc [filename.c]
./a.out # unix
a.exe # windows
CPP
g++ [filename.cpp]
./a.out # unix
a.exe # windows
Java
javac [filename.java]
java [filename]
Python
python [filename.py]
Golang
go run [filename.go]
JavaScript
node [filename.js]
C#
mcs [filename.cs]
mono [filename.exe]

Resources

Contributing

See CONTRIBUTING.md.

If you plan to suggest a new algorithm or DS, please make sure to read the guidelines.

Credits

Idea by @Monal5031

Project Maintainers

Only project maintainers should merge a PR. Other members can add their reviews to a PR but the merging should be done by only a project maintainer.