This page looks best with JavaScript enabled

List of Algorithms

 ·   ·  β˜• 2 min read

    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 including multiplication and division
    • Euclidean Algorithm for GCD
    • Modular Inverse
    • Fast Exponentiation
    • Fibonacci number with matrix multiplication
    • Probability distribution and expected value
    • Statistics
    • 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, 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, number of nodes, etc.
    • 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, etc
    • Shortest Path Finding Algorithm - Dijkstra, Floyd Warshal, Bellman Ford
    • Minimum Spanning Tree - Kruskal’s Algo, Prim’s Algo

    Advanced Category:

    Advance Tree and Graph

    • Balanced Trees - AVL, Red-Black
    • Heavy Light Decomposition, B+ Trees, Quad Tree
    • Advance Graph - 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 - Approx algos
    • Advance String Algorithms
    • Knuth Morris Pratt Algorithm
    • Rabin Karp Algorithm
    • Tries and Compressed Tries
    • Prefix Trees, Suffix Trees, Suffix Automation - Ukkonen Algorithm
    • Advance Math
    • Fast Fourier Tranformation
    • Primality Testing
    • Computational Geometry - Closest point pair, Voronoi diagram, Convex Hull
    • General Advance topics
    • Iterating through all combination / permutation
    • Bit manipulation

    Congratulations! If you finished learning about all these algorithms and data structures, you are ready to join Top notch industry like Google, Amazon, Facebook, Twitter, Dropbox, Uber etc. If you know 70-80% of these algorithms and data structures, you are ready to join any international Software/IT company. Even If you know 50% of these algorithm and data structures, local companies are looking for you.
    If you don’t know any of these above algorithms and data structure, please stop and take few hours to learn the basics.
    Happy Programming, Happy Learning!!


    Ohidur Rahman Bappy
    WRITTEN BY
    Ohidur Rahman Bappy
    πŸ“šLearner 🐍 Developer