Algorithm To Become A Good Programmer by Ashish Kedia
Algorithm To Become A Good Programmer by Ashish Kedia
Algorithm To Become A Good Programmer by Ashish Kedia
By Ashish Kedia
Web Solutions Engineer @ Google, Hyderabad
I am assuming you know at least one programming language and the concept of
object / pointers. I will mention algorithms and data structures in increasing order of difficulty.
First start with Linear data structures and algorithms.
• Arrays
• Linked List
• Stack
• Queues
By this time you are already pretty good with programming. You will do better than most of
undergrad CS students. If you want to learn more and delve deep read more.
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 Math:
• Fast Fourier Tranformation
• Primality Testing
• Computational Geometry - Closest point pair, Voronoi diagram, Convex Hull