Topics Covered: Data Structures: 1. Arrays 2. String 3. Linked List 4. Stack 5. Queue 6. Heap 7. Hashing 8. Binary Tree 9. BST 10. Graph 11. Trie 12. Greedy 13. DP 14. Recursion Algorithms: 1. Analysis of Algorithms 2. Searching Algorithms 3. Sorting Algorithms 4. Greedy Algorithms 5. Dynamic Programming 6. Pattern Searching 7. Backtracking 8. Divide and Conquer 9. Geometric Algorithms 10. Mathematical Algorithms 11. Bit Algorithms 12. Graph Algorithms 13. Randomized Algorithms 14. Branch and Bound Patterns: 1. Two Pointers 2. Fast & Slow Pointers 3. Island & Matrix traversal 4. Sliding Window 5. Merge Intervals 6. Cyclic Sort 7. Bitwise XOR 8. Two Heaps 9. In-place reversal of LinkedList 10. Breadth First Search 11. Depth First Search 12. Subsets 13. Modified Binary Search 14. Backtracking 15. Top 'K' elements 16. K-way merge 17. Topological Sort 18. 0/1 Knapsack 19. Dynamic Programming 20. Multi-threading 21. Synchronization