0% found this document useful (0 votes)
54 views

A Simple Plan of Learning Algorithm Data Structure For Beginner Competitive Programmers

This document provides a simple plan for learning algorithm data structures for beginner competitive programmers. It lists 40 topics to learn in a serialized order, including complexity analysis, recursion, dynamic programming, graph algorithms, string algorithms, and more. The plan is based on how the author learned as a beginner but other approaches are acceptable. It is important to practice problems from sites like UVa and Codeforces alongside learning new topics to improve problem solving skills.

Uploaded by

asd qwe
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
54 views

A Simple Plan of Learning Algorithm Data Structure For Beginner Competitive Programmers

This document provides a simple plan for learning algorithm data structures for beginner competitive programmers. It lists 40 topics to learn in a serialized order, including complexity analysis, recursion, dynamic programming, graph algorithms, string algorithms, and more. The plan is based on how the author learned as a beginner but other approaches are acceptable. It is important to practice problems from sites like UVa and Codeforces alongside learning new topics to improve problem solving skills.

Uploaded by

asd qwe
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 2

A simple plan of learning algorithm data

structure for beginner competitive


programmers.
Nowadays I see many questions about how to learn algorithm data structure serialy. So I made
this plan for those beginners who are suffering from the need of guidelines.

This list is serialized in the way I learned the topics below, when I was a beginner. But this is not
surly the right way. So don’t follow this plan if you have other plans. And you have to increase
your problem solving skills side by side learning these topics. Otherwise you won’t be able to
understand most of them. And solve problems from uva and lightoj after learning a new topic.
And also solve from codeforces because uva lighthoj problems are classical and codeforces
problems are too tricky. You can follow a2oj ladders or problem rating of codeforces for regular
practice. You also have to participate in regular codeforces rounds and have to upsolve them.

Note :
I have added a link of blogs from where I have learned those topics. You can follow that blog or
any other source you want.
The topics of dynamic programming is reserialled in shafates planet. You may better follow that
way.

1. Complexity analysis
2. Recursion and basic dynamic programming
● Link1
● Link2
3. Standard template library
4. Binary search
● Upper bound
● Lower bound
● Bisection
5. Sieve of Eratosthens
● Link1
● Link2
6. Bit wise sieve
7. Prime factorization
8. Number of divisors & Sum of divisors
9. Divisor summatory function
10. Euler phi function
11. Extended Euclidean
12. Linear diophantine equation
13. Modular arithmetic
14. Introduction to graph theory
15. Different representation of graph
● Adjacency matrix
● Adjacency List
16. Depth first search ( Competitive programming : 3 book )
17. Breadth first search ( Competitive programming : 3 book )
18. Finding Connected components ( Competitive programming : 3 book )
19. Flood fill ( Competitive programming : 3 book )
20. Topological sort ( Competitive programming : 3 book )
21. Bipartite graph check ( Competitive programming : 3 book )
22. Graph Edges property check ( Competitive programming : 3 book )
23. Minimum spanning tree ( Competitive programming : 3 book )
24. 0-1 Knapsack & Coin change
25. Longest Common subsequence
26. Longest increasing subsequence
● Dynamic Programming Solution
● Binary search solution
27. Bitmask dp
28. Minimum vertex cover
29. Dijkstra ( Competitive programming : 3 book )
30. Floyd Warshall’s dp solution ( Competitive programming : 3 book )
31. Segment tree
32. Lazy propagation
33. Bineary Indexed tree
34. Trie
35. Bellman ford
36. Digit dp
37. More about segmentree
38. Hashing
39. Z - algorithm ( No need to learn just use the code )
40. Manchers algorithm
41. Kmp ( No need if you can use Z - algorithm )

You might also like