- Dynamic Programming (Knapsack, 8-queens, Traveling Salesman)
- Backtracking (8-queens, Sudoku)
- Greedy Algorithms (Matching Pursuit, Egyptian Fractions)
- Sorting (Binary Search, Merge-sort)
- Search/Path-finding (Breadth-First Search, Depth-First Search, Dijkstra)
- Network Flow Problems (Minimum Cut, Max Flow)
- Combinatorial (Permutations, Calendrical Calculations)
- Geometrical (Convex Hull, Minkowski Sum)
How can I get good at it?
- Get basic coding and hands-on knowledge on C, C++ or Java. These are the basic languages allowed in any programming competition. Check out our website for courses that can make you a coding rockstar!
- Get hitched with an online judge. He will be the critic and guide on your road to code. CodeZen, Hackerearth, SPOJ, Codechef, Top coders are the ones recommended.
- Read, practice, implement. There is an ocean of resources on the internet, all available for free. All you need to do is sit and code!
- Practice as much as you can on popular topics like Graphs, dynamic programming, number theory, arrays etc.
- When you’ve practiced enough, all that’s left is to participate. Participate in competitions as much as you can. With our Coding Ninja challenges, you can constantly workout and develop those coding biceps.
- Read and react. Review the codes by top coders, understand their approach and try to outdo it. This is a very important aspect as you get a cheat sheet to what top coders do and how you can better your methodologies.
- DON’T GIVE UP AND DON’T GIVE IN! I say this, because there is a difference between the two. You should be persistent and sincere no doubts about that but do not get stuck. The moment you feel that’s happening, take a break, get a beer/green tea 😉 or listen to your favourite song. Get back to work and if it still doesn’t work, move on!
gazab! feeling motivated after reading it
Thanks Pawan!
Keep yourself motivated and win big!