This is where I will learn data structures and algorithms . I will also include analysis and design of algorithms. All the problem we work on either in real life or virtually has some data associated with it on which we have to work on. Virtually or in real life , we would store that data in some way so that it gets easier for us to work on it and accessing it. When we have our data stored in data structures , now we follow some steps to solve the problem and algorithm helps us with it. Time and space are precious so it gets really important to understand how the algorithm is using time and how much space of limited computer memory.
Refer to this Link to learn Algorithms.
- Array
- String
- Matrix
- Linked List
- Stack
- Queue
- Tree
- Graph
- Searching
- Sorting
- Hashing
- Prefix sum
- Suffix Sum
- Greedy
- Recursion
- Backtracking
- Tree and Graph traversals
- Dynamic Programming
- Advanced algorithms on tree and graph