Skip to content

Latest commit

 

History

History
137 lines (121 loc) · 2.72 KB

Algorithm and Programming Technique Link.md

File metadata and controls

137 lines (121 loc) · 2.72 KB

Data Structure:

  • Stack
  • Queue
  • Priority Queue
  • Linked list
  • Heap
  • Hash table
  • Map, HashMap
  • Disjoint Set, Union Find
  • Tree, Binary Tree
  • 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

Dynamic Programming:

  • Rod Cutting
  • Maximum Sum (1D, 2D)
  • Coin Change
  • Longest Common Subsequence
  • Longest Increasing subsequence, Longest Decreasing Subsequence
  • Matrix Chain multiplication
  • Edit Distance
  • 0-1 Knapsack
  • Bitmask DP
  • Traveling Salesman problem
  • Digit DP

Greedy Algorithm:

  • Activity selection/Task scheduling problem
  • Huffman coding
  • Knapsack problem

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

Mathematics and Number Theory:

  • GCD
  • LCM
  • Euler Totient
  • Prime finding(sieve)
  • Prime factorization
  • Factorial
  • Fibonacci
  • Counting, Permutation, combination
  • Exponentiation
  • Modular Arithmetic
  • Euclid, Extended euclid
  • 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

Data Structure and Algorithsm Tutorial by CODECHEF

Another list by some "Guru's": http://www.quora.com/ACM-ICPC-1/What-are-some-algorithms-and-data-structures-which-should-definitely-be-included-in-ones-ACM-ICPC-team-notebook#