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!