Introduction
Practice is the key to mastering DSA concepts. Below are categorized problems with varying difficulty. Solve them to strengthen your understanding and prepare for interviews.
Problems by Topic
Arrays
- Find the largest element in an array
- Reverse an array
- Find the subarray with maximum sum (Kadane's Algorithm)
Linked Lists
- Detect a cycle in a linked list
- Reverse a linked list
- Find the middle of a linked list
Trees
- Inorder, Preorder, and Postorder Traversal
- Check if a binary tree is balanced
- Find the lowest common ancestor
Sorting and Searching
- Implement Bubble Sort
- Binary Search in a sorted array
- Merge two sorted arrays
Dynamic Programming
- Fibonacci using DP
- Longest Increasing Subsequence
- 0/1 Knapsack Problem
Graphs
- Breadth First Search (BFS)
- Depth First Search (DFS)
- Dijkstra's Shortest Path
More Coming Soon!
We will keep adding more problems. Stay tuned and keep practicing!