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 ()
O
Ω
Θ
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