Skip to content

Writen by Vietnamese. Learning algorithms. The language programming currently is C. C++ and Python will be later.

Notifications You must be signed in to change notification settings

agamenmon/algorithms

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 

Repository files navigation

algorithms

Writen by Vietnamese. Learning algorithms. The language programming currently is C. C++ and Python will be later.

source: https://www.geeksforgeeks.org/top-algorithms-and-data-structures-for-competitive-programming/

Graph algorithms

  • Breadth First Search (BFS)
  • Depth First Search (DFS)
  • Shortest Path from source to all vertices Dijkstra
  • Shortest Path from every vertex to every other vertex Floyd Warshall
  • Minimum Spanning tree Prim
  • Minimum Spanning tree Kruskal
  • Topological Sort
  • Johnson’s algorithm
  • Articulation Points (or Cut Vertices) in a Graph
  • Bridges in a graph

Dynamic programming

  • Longest Common Subsequence
  • Longest Increasing Subsequence
  • Edit Distance
  • Minimum Partition
  • Ways to Cover a Distance
  • Longest Path In Matrix
  • Subset Sum Problem
  • Optimal Strategy for a Game
  • 0-1 Knapsack Problem
  • Assembly Line Scheduling

Searching and Sorting

  • Binary Search
  • Quick Sort
  • Merge Sort
  • Order Statistics
  • KMP algorithm
  • Rabin karp
  • Z’s algorithm
  • Aho Corasick String Matching
  • Counting Sort
  • Manacher’s algorithm

Number theory and Other Mathematical

  • Primality Test | Set 1 (Introduction and School Method)

  • Primality Test | Set 2 (Fermat Method)

  • Primality Test | Set 3 (Miller–Rabin)

  • Sieve of Eratosthenes

  • Segmented Sieve

  • Wilson’s Theorem

  • Prime Factorisation

  • Pollard’s rho algorithm

  • Basic and Extended Euclidean algorithms

  • Euler’s Totient Function

  • Modular Exponentiation

  • Modular Multiplicative Inverse

  • Chinese remainder theorem Introduction

  • Chinese remainder theorem and Modulo Inverse Implementation

  • Counting Inversions

  • Counting Inversions using BIT

  • logarithmic exponentiation

  • Square root of an integer

  • Heavy light Decomposition , this and this

  • Matrix Rank

  • Gaussian Elimination to Solve Linear Equations

  • Hungarian algorithm

  • Link cut

  • Mo’s algorithm and this

  • Factorial of a large number in C++

  • Factorial of a large number in Java+

  • Russian Peasant Multiplication

  • Catalan Number

Geometrical and Network Flow Algorithms

  • Convex Hull
  • Graham Scan
  • Line Intersection
  • Interval Tree
  • Matrix Exponentiation and this
  • Maxflow Ford Furkerson Algo and Edmond Karp Implementation
  • Min cut
  • Stable Marriage Problem
  • Hopcroft–Karp Algorithm for Maximum Matching
  • Dinic’s algo and e-maxx

Data Structures

  • Binary Indexed Tree or Fenwick tree
  • Segment Tree (RMQ, Range Sum and Lazy Propagation)
  • K-D tree (See insert, minimum and delete)
  • Union Find Disjoint Set (Cycle Detection and By Rank and Path Compression)
  • Tries
  • Suffix array (this, this and this)
  • Sparse table
  • Suffix automata
  • Suffix automata II
  • LCA and RMQ

About

Writen by Vietnamese. Learning algorithms. The language programming currently is C. C++ and Python will be later.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published