Learn a programming Language of your choice

Java C C++ Python

Learn about Complexities

Time Complexity Space Complexity

Learn about Asymptotic notation

Big-O Notation Omega Notation () Theta Notation ()

Ω  Θ

Learn Data Structures and Algorithms

1. Array 2. String 3. Linked List 4. Searching 5. Sorting 6. Devide & Conquer 7. Stack 8. Queue 9. Tree

10. Graph 11. Greedy 12. Recursion 13. Backtracking 14. Dynamic Programming

Practice Problems

School-level Basic level Easy level Medium level Hard level

Practice Websites                                *FREE

* Geeksforgeeks * Leetcode * HackerRank * Codechef * CodeForces

Websites to Learn DSA

* GeeksforGeeks * Javatpoint * TutorialsPoint * Programiz * Youtube

Books to Learn DSA

* Introduction to    Algorithms * Algorithms * Grokking Algorithms * The Algorithm Design    Manual * Algorithms in a Nutshell