Mathematics:
- Prime finding(sieve)
- Prime factorization
- GCD, LCM
- Factorial
- Fibonacci
- Counting, Permutation, combination
- Exponentiation
- Modular Arithmetic
- Euclid, Extended euclid
Data Structure:
- Stack
- Queue
- Priority Queue
- Linked list
- Heap
- Hash table
- Disjoint Set, Union Find
- Binary Search Tree
- Trie, Suffix Array
- Segmented Tree,Range minimum Query
- Binary Indexed Tree(BIT)
- Heavy light Decomposition
Sorting:
- Bubble Sort
- Selection Sort
- Insertion Sort
- Quick Sort
- Merge Sort
- Counting Sort
- Radix Sort
- Bucket Sort
- Heap Sort
- Searching:
- Linear Search
- Binary Search
- Ternary Search
- Map, HashMap
Dynamic Programming
- Rod Cutting
- Maximum Sum (1D, 2D)
- Coin Change
- Longest Common Subsequence
- Longest Increasing subsequence, Longest Decreasing Subsequence
- Matrix Chain multiplication
- Edit Distance
- Knapsack problem, 0-1 Knapsack
- Bitmask DP
- Traveling Salesman problem
Greedy Algorithm:
- Activity selection/Task scheduling problem
- Huffman coding
Graph Theory:
- Graph Representation(matrix, list/vector)
- Breadth First Search(BFS)
- Depth First Search(DFS)
- Topological Sort
- Strongly Connected Component(SCC)
- Minimum Spanning Tree(kruskal, prim)
- All pair's shortest path(Floyd Warshall)
- Djkastra algorithm
- Bellman Ford Algorithm
- Directed Acyclic Graph
- Bipartite Matching
- Max-Flow, Min-cost max-flow
- Cayley's Theorem
- Articulation Point, Bridge
- Euler tour/path
- Hamiltonian Cycle
- Stable Marriage problem
- Chinese Postman problem
- Number Theory:
- Josephus Problem
- Farey Sequence
- Euler's phi
- Catalan numbers
- Burnside's lemma/circular permutation
- Modular inverse
- Probability
- Chinese Remainder Theorem
- Gaussian Elmination method
- Dilworth's Theorem
- Matrix Exponentiation
- Determinant of a matrix
- RSA public key crypto System
- Computational Geometry:
- Pick's Theorem
- Convex hull
- Line Intersection
- Point in a polygon
- Area of a polygon
- Line Sweeping
- Polygon intersection
- Closest Pair
Game Theory:
- Take Away game
- Nim
- Sprague-grundy Number
String
- Naive String matching
- Rabin karp Algo
- Finite Automata
- Knuth-Marris-Pratt Algo
- Manacher's Algo
- Aho korasick's Algo
- Boyer-Moore algo
Others:
Recursion
C++ Standard Template Library(STL)Backtracking
Hungarian Algorithm