Data Structures & Algorithms
The complete Striver A2Z path: arrays to graphs to dynamic programming, with 450+ problems.
Course Information
| Level | Core — all branches |
|---|---|
| Duration | 16 weeks |
| Credits | 4 |
| Pre-requisite | Any one language: C++, Java or Python. |
| Material | Open source — every module links to its original tutorial |
About This Track
DSA decides most placement results, so this is the longest track in the program. It follows the takeUforward Striver A2Z DSA Course sheet in order, from complexity analysis all the way to dynamic programming and tries.
For every topic: read the concept on GeeksforGeeks or W3Schools, watch the takeUforward video for the intuition, then solve the listed problems on LeetCode. When you are stuck on a runtime error rather than the logic, search the algorithm tag on Stack Overflow.
What You Will Learn
- Analyse time and space complexity and defend your answer in an interview
- Apply the standard patterns: two pointers, sliding window, prefix sum, binary search on answer
- Implement linked lists, stacks, queues, trees, heaps and tries from scratch
- Traverse graphs with BFS and DFS, and run Dijkstra, topological sort and union-find
- Recognise and solve dynamic programming problems using memoisation and tabulation
- Solve 450+ curated problems and be ready for placement rounds
Syllabus
| # | Module | Topics Covered | Weeks | Study Material |
|---|---|---|---|---|
| 1 | Complexity & Basics | Big-O, patterns, recursion, hashing, sorting algorithms | 2 | Striver A2Z Sheet |
| 2 | Arrays & Strings | Two pointers, sliding window, prefix sum, Kadane, matrix problems | 3 | GfG Arrays |
| 3 | Searching & Linked List | Binary search on answer, singly/doubly lists, cycle detection | 2 | W3Schools DSA |
| 4 | Stacks, Queues & Heaps | Monotonic stack, next greater element, priority queue, top-K | 2 | GfG Stack |
| 5 | Trees & Graphs | Traversals, BST, LCA, BFS/DFS, Dijkstra, topological sort, union-find, MST | 4 | Striver Graph Series |
| 6 | Dynamic Programming & Tries | Memoisation, tabulation, knapsack, LIS, DP on grids and strings, tries | 3 | Striver DP Series |
Code From The Lab
Sample from Module 3 — binary search on the answer
// Smallest divisor such that the sum of results is <= limit
int smallestDivisor(vector<int>& nums, int limit) {
int low = 1, high = *max_element(nums.begin(), nums.end());
while (low <= high) {
int mid = low + (high - low) / 2;
long long sum = 0;
for (int n : nums) sum += (n + mid - 1) / mid; // ceil(n/mid)
if (sum <= limit) high = mid - 1; // mid works, try smaller
else low = mid + 1; // mid too small
}
return low; // O(n log max) time, O(1) space
}
Video Lectures
Click the thumbnail to open the video playlist for this track:
Recorded College Session
Video Playlists
- takeUforward (Striver) — The A2Z DSA course, SDE sheet, graph series and DP series
- Abdul Bari — Algorithm theory and analysis, the way it is asked in university exams
- freeCodeCamp.org — Full DSA courses in C++, Java and Python
Open Source Study Material
These are the exact open sources the notes for this track are prepared from.
| Source | Best Used For | Link |
|---|---|---|
| takeUforward | Striver A2Z sheet — the exact problem order this track follows | Open |
| takeUforward SDE Sheet | 191 problems most asked in product company interviews | Open |
| GeeksforGeeks | DSA tutorial, practice problems and company-wise archives | Open |
| W3Schools DSA | Simple animated introduction for first year students | Open |
| LeetCode | Where you actually solve the problems and track your streak | Open |
| Stack Overflow | The algorithm tag when your logic is right but the code is not | Open |
| CP-Algorithms | Open source reference for advanced competitive programming algorithms | Open |
Lab Projects
- Maintain a public GitHub repo of your A2Z sheet solutions
- Visualiser for sorting algorithms built with the Web Dev track skills
- Pathfinding demo showing BFS vs Dijkstra on a grid
- Weekly contest log: rating, mistakes and the pattern behind each miss
Your Progress
Modules finished in this track:
0 of 6
Self rated confidence: