Algorithm

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 2

What algorithms should I know to become a good

programmer?

First start with Linear data diameter, depth, number of nodes,


structures and algorithms. etc.
Arrays Heaps - Array Implementation,
Linked List Heapify, Heap Sort
Stack Union Find
Queues Hash Table - Linear Probing, Open
addressing, Collision avoidance
Then move to basic algorithms:
Sorting - Merge Sort, Insertion
Sort, Quick Sort, Number of Then you can learn about Graphs:
inversions Adjacency List, Adjacency Matrix,
Matrix Multiplication (just know Weighted Edge Graphs
the algo if not implement it) Basic Traversal algos - Breadth
Prime Sieving First Search, Depth First Search, etc
Modular Math including Shortest Path Finding Algorithm -
multiplication and division Dijkstra, Floyd Warshal, Bellman
Euclidean Algorithm for GCD, Ford
Modular Inverse, Fast Minimum Spanning Tree -
Exponentiation Kruskal's Algo, Prim's Algo
Fibonacci number with matrix
multiplication Advance Tree and Graph :
Probability distribution and Balanced Trees - AVL, Red-Black
expected value Heavy Light Decomposition, B+
Stats - Mean, Median, Variance, Trees, Quad Tree
Bayes theorem Advance Graph - Min Cut, Max
Flow
The one can learn some popular Maximum Matching - Hall's
algorithmic techniques: Marriage
Divide and Conquer - Binary Hamiltonian Cycle
Search, Maximum Subarray Edge Graphs / Line Graphs
Greedy Algorithms - Activity Strongly Connected Components
Selection, Huffman encoding Dominant Sub-Graph, Vertex
Dynamic Programming - Matrix Cover, Travelling Salesman - Approx
Chain Multiplication, Knapsack, algos
Linear Programming - Variable
Maximisation, Linear time sorting Advance String Algorithms :
String Algorithms - Manacher, Knuth Morris Pratt Algorithm
LCS, Edit Distance Rabin Karp Algorithm
Tries and Compressed Tries
Then comes some typical non-linear Prefix Trees, Suffix Trees, Suffix
data structures: Automation - Ukkonen Algorithm
Trees - Binary Tree, General Tree,
Lowest Common Ancestor Advance Math:
Binary Search Tree - Inorder Fast Fourier Tranformation
Traversal, Level order traversal, Primality Testing
finding kth largest element,
Computational Geometry - Closest Iterating through all combination /
point pair, Voronoi diagram, Convex permutation
Hull Bit manipulation

General Advance topics :

You might also like