Skip to content
All existing and popular types of Algorithms implemented in C++
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
Dynamic Programming
String Matching
.travis.yml added contri file Dec 5, 2018


This repo contains all existing types of Algorithms implemented in C++

Algorithms commit status Build Status Language Codacy Badge CodeFactor

1. Searching

Searching Technique Complexity(Worst Case) Link Any Other Resource
Linear O(n) Linear Search
Binary O(log n) Binary Search
Ternary O(log n) Ternary Search
Interpolation O(log log n) Interpolation Search Derivation of Formula
Jump O(n ½) Jump Search

2. Sorting

Sorting Technique Complexity(Worst Case) Link Method Stable Class
Selection O(n^2) Selection Sort Selection No Comparison Sort
Insertion O(n^2) Insertion Sort Insertion Yes Comparison Sort
Counting O(n + k) Counting Sort - Yes Non-Comparison Sort
Quick O(n log n) Quick Sort Partitioning No Comparison Sort
Bubble O(n^2) Bubble Sort Exchanging Yes Comparison
Merge Sort O(n log n) Merge Sort Merging Yes -

3. Pattern Matching

Technique Complexity(Worst Case) Link
Knuth-Morris-Pratt O(n+m) KMP

4. Dynamic Programming

Technique Complexity(Worst Case) Link
Fibonacci O(n) fibonacci

5. Divide & Conquer

Technique Complexity(Worst Case) Link
Binary Search O(log n) Binary Search
Quick Sort O(n log n) Quick Sort
Merge Sort O(n log n) Merge Sort


MIT License


See CONTRIBUTING file for contributing.

All the Algorithms have been complied using GCC 8.1.0 (MinGW) on a Winodws Machine & GCC 8.2.0 on Ubuntu (Mate) Machine.

You can’t perform that action at this time.