This is a library of various algorithms that are used in competitive programming.
combination_by_eluer_method.cppis a algorithm to compute the combinations of large numbers. Since in competitive programming we often deal with large numbers so computing combination becomes difficult therefore Eluer method provide an easy and fast way to compute nCr%1000000007 of big numbers.
cycle_in_directed_graph.cpp and cycle_in_undirected_graph.cpp are two algorithms which detect cycles in a graph by DFS algorithm.
Hamiltonian Cycle
M Coloring Problem
N Queen Problem
Rat in a Maze
Sudoku
Breadth First Search
Depth First Search
Detect Cycle in Undirected Graph
Dijkstra
Kruskal
disjoint set union
Floyd cycle detection
Binary Search
Jump Search
Linear Search
breadth first search
Depth first Search
Bubble Sort
Heap Sort
Insertion Sort
Selection Sort
Shell Sort
Merge Sort
Radix Sort
Selection Sort
Implementation
Infix to Postfix
Postfix
Count Substring
Rabin Karp Algorithm
Manacher Algorithm
Z Algorithm