logo

Comprehensive List of Programming Algorithms

O

Ohidur Rahman Bappy

MAR 22, 2025

Comprehensive List of Programming Algorithms

Basic Category

Linear Data Structures and Algorithms

  • Arrays
  • Linked List
  • Stack
  • Queues

Basic Algorithms

  • Sorting
    • Merge Sort
    • Insertion Sort
    • Quick Sort
  • Number of Inversions
  • Matrix Multiplication
  • Prime Sieving
  • Modular Math
    • Multiplication and Division
    • Euclidean Algorithm for GCD
    • Modular Inverse
  • Fast Exponentiation
  • Fibonacci Number with Matrix Multiplication

Probability and Statistics

  • Probability Distribution and Expected Value
  • Mean
  • Median
  • Variance
  • Bayes Theorem

Popular Algorithmic Techniques

  • Divide and Conquer
    • Binary Search
    • Maximum Subarray
  • Greedy Algorithms
    • Activity Selection
    • Huffman Encoding
  • Dynamic Programming
    • Matrix Chain Multiplication
    • Knapsack
  • Linear Programming
    • Variable Maximisation
    • Linear Time Sorting
  • String Algorithms
    • Manacher
    • LCS (Longest Common Subsequence)
    • Edit Distance

Non-linear Data Structures

  • Trees
    • Binary Tree
    • General Tree
    • Lowest Common Ancestor
  • Binary Search Tree
    • Inorder Traversal
    • Level Order Traversal
    • Finding Kth Largest Element
    • Diameter
    • Depth
  • Heaps
    • Array Implementation
    • Heapify
    • Heap Sort
  • Union Find
  • Hash Table
    • Linear Probing
    • Open Addressing
    • Collision Avoidance

Graphs

  • Adjacency List
  • Adjacency Matrix
  • Weighted Edge Graphs
  • Basic Traversal Algorithms
    • Breadth First Search
    • Depth First Search
  • Shortest Path Finding Algorithms
    • Dijkstra
    • Floyd Warshall
    • Bellman Ford
  • Minimum Spanning Tree
    • Kruskal's Algorithm
    • Prim's Algorithm

Advanced Category

Advanced Tree and Graph

  • Balanced Trees
    • AVL Trees
    • Red-Black Trees
  • Heavy Light Decomposition
  • B+ Trees
  • Quad Tree
  • Advanced Graph Techniques
    • Min Cut
    • Max Flow
    • Maximum Matching (Hall's Marriage)
    • Hamiltonian Cycle
    • Edge Graphs / Line Graphs
    • Strongly Connected Components
    • Dominant Sub-Graph
    • Vertex Cover
    • Travelling Salesman (Approximation Algorithms)

Advanced String Algorithms

  • Knuth-Morris-Pratt Algorithm
  • Rabin-Karp Algorithm
  • Tries and Compressed Tries
  • Prefix Trees
  • Suffix Trees
  • Suffix Automation (Ukkonen's Algorithm)

Advanced Math

  • Fast Fourier Transform
  • Primality Testing
  • Computational Geometry
    • Closest Point Pair
    • Voronoi Diagram
    • Convex Hull

General Advanced Topics

  • Iterating Through All Combinations/Permutations
  • Bit Manipulation

Congratulations! If you have mastered all these algorithms and data structures, you're ready to join top-tier companies like Google, Amazon, Facebook, Twitter, Dropbox, and Uber. Acquiring knowledge of 70-80% of these topics prepares you for any international software/IT company. Even with familiarity of 50%, local companies are keen to hire you.

If you're beginning your journey, take some time to learn these fundamental concepts.

Happy Programming! Happy Learning!