List of 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 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!!

Post a Comment

Your feedback is welcome. Be it positive or negative. Please do not post any irrelevant comment or abuse anyway.

Previous Post Next Post