You are on page 1of 19

Important :

Use This DSA-251 Roadmap On Laptop For Much Better User Experience If you have not created a copy, you will not be able to
(Might not be able to see actual problems in mobile) make changes in the sheet. Make your own copy by
choosing 'Make Copy' option from 'File' Menu.

StartDate
Don't Miss This Video. One Time EffortTo Use This
(Change Roadmap
whenever youReally
startWell : https://youtu.be/qqvYFlBJMSw
4/29/2023 Email Id upskillwithparikh@gmail.com
this roadmap)

Deadline
Must Read This Before Following This Roadmap! Total Questions Number of
Topic Status (Set According
Questions Done days
To Start Date)
Basic DSA

Arrays 5 0/5 Not Started 2 5/1/2023 0:00:00


Most common questions asked String 5 0/5 Not Started 2 5/3/2023 0:00:00
by every company (product 2d Arrays 5 0/5 Not Started 2 5/5/2023 0:00:00
based or service based) or any Maps/Sets 5 0/5 Not Started 2 5/7/2023 0:00:00
startup. These are the basic
things which every programmer Two Pointers 4 0/4 Not Started 2 5/9/2023 0:00:00
should know. For every role in Basic Algorithms 6 0/6 Not Started 3 5/12/2023 0:00:00
tech including software
development, backend
Mixed Questions - 1 20 0/20 Not Started 8 5/20/2023 0:00:00
development, front-end
development, full stack web
development, data scientists
etc., these questions can be Overall Basic DSA Progress 50 0/50 Not Started
asked.

Revision/Break Days 3

Intermediate DSA
Binary Search 5 0/5 Not Started 2 5/25/2023 0:00:00
Asked by most of the product Recursion Basics 5 0/5 Not Started 2 5/27/2023 0:00:00
based companies or even Linked List 10 0/10 Not Started 4 5/31/2023 0:00:00
small/big product based Stacks & Queues 10 0/10 Not Started 4 6/4/2023 0:00:00
startups. Roles include software
development, backend Binary Trees & BST 15 0/15 Not Started 7 6/11/2023 0:00:00
development, full stack web
development, data scientists. Mixed Questions - 2 30 0/30 Not Started 15 6/26/2023 0:00:00
Some big product companies
like Amazon, Google, Microsoft Overall Intermediate DSA
can ask these for front-end 75 0/75 Not Started
Progress
development role as well.
Revision/Break Days 6

Advanced DSA
Greedy Techniques 5 0/5 Not Started 3 7/5/2023 0:00:00
Tries 5 0/5 Not Started 3 7/8/2023 0:00:00
Mostly asked by Amazon, Silding Window & Dequeue 7 0/7 Not Started 4 7/12/2023 0:00:00
Microsoft, Google, Uber or other Priority Queues & Heaps 7 0/7 Not Started 4 7/16/2023 0:00:00
big product based companies. Advanced Recursion & Backtracking
8 0/8 Not Started 4 7/20/2023 0:00:00
Some big startups like Zomato,
Ola can also ask these Dynamic Programming 15 0/15 Not Started 8 7/28/2023 0:00:00
questions. Roles include Graphs 13 0/13 Not Started 7 8/4/2023 0:00:00
backend development, software
development, full stack web
Mixed Questions - 3 40 0/40 Not Started 20 8/24/2023 0:00:00
development. Not much asked
for front-end developer or data
scientist roles. Overall Advanced DSA
100 0/100 Not Started
Progress

Revision/Break Days 10

DSA Project

This is a great DSA project as it


includes solving the problem
with the use of various data
structures like trees, heaps,
Huffman Coding 1 0/1 FALSE
arrays etc. Also concepts of bits
are used. This really gives us
great feeling of applying data
structures and algorithms.

Miscelleanous DSA
Bit Manipulation 7 0/7 Not Started 3
Asked by companies like
String Algorithms 5 0/5 Not Started 3
Codenation, DirectI, and
sometimes Google which do Segment Tree 6 0/6 Not Started 3
very hard interviews related to Number Theory 5 0/5 Not Started 3
DSA. Not asked in interviews of DP With Trees 2 0/2 Not Started 2
majorly other companies.
25 0/25 Not Started

OVERALL PROGRESS 251 0/251


Mark For
Topic Problem Name With Link Done
Revision

Arrays

Second Largest Element 0 FALSE


Rotate An Array By K 0 FALSE
Non Decreasing Array 0 FALSE
Equilibrium Index 0 FALSE
First Missing Positive 0 FALSE

String

Reverse String Word Wise 0 FALSE


String encoding 0 FALSE
Minimum Paranthesis 0 FALSE
Beautiful Strings 0 FALSE
Next smallest palindrome 0 FALSE

Multi-Dimensional arrays

Sum of zeroes 0 FALSE


Matrix Symmetric 0 FALSE
Inplace rotate matrix 90 degree 0 FALSE
Set Matrix Zeroes 0 FALSE
Spiral Order 0 FALSE

Maps/Sets

Make Unique Array 0 FALSE


First Non Repeating Character in String 0 FALSE
Longest Subarray Zero Sum 0 FALSE
Count all sub-arrays having sum divisible
by k 0 FALSE
Group Anagrams 0 FALSE

Two Pointers

Pair Sum 0 FALSE


Move Negative Number To Start 0 FALSE
Container With Most Water 0 FALSE
Check subsequence 0 FALSE
Basic Algorithms

Insertion Sort 0 FALSE


Selection Sort 0 FALSE
Bubble Sort 0 FALSE
Kadane’s Algoritm 0 FALSE
Dutch National Flag Algorithm 0 FALSE
Moore’s Voting Algorithm 0 FALSE

Mixed Questions-1
(Concepts learned in topics above will be used in below questions.
This is critical to become great in DSA.)
Check permutation 0 FALSE
Intersection Of Two Arrays 0 FALSE
N/3 repeated number in array 0 FALSE
Counting Sort 0 FALSE
Rotate Matrix To Right 0 FALSE
FInd Kth Character of Decrypted String 0 FALSE
Move Zeroes To End 0 FALSE
Sum of Two Elements Equals Third 0 FALSE
Minimum Operations to Make String Equal 0 FALSE
Maximum Sum Circular Array 0 FALSE
Longest Consecutive Sequence 0 FALSE
Maximum Subarray Sum After K Concat 0 FALSE
Maximum Product Count 0 FALSE
Multiply Strings 0 FALSE
Find All Subsquares of size K 0 FALSE
Repeat And Missing Number Array 0 FALSE
4 Sum Problem 0 FALSE
Count All Subarrays With Given Sum 0 FALSE
Maximum Sum Rectangle 0 FALSE
Nth element of spiral matrix 0 FALSE
Notes Codes
Mark For
Topic Problem Name With Link Done
Revision

Binary Search

Square Root 0 FALSE


Search in Rotated Sorted Array 0 FALSE
FInd element that appears twice 0 FALSE
Matrix Median 0 FALSE
Aggressive Cows 0 FALSE

Recursion Basics

Merge Sort 0 FALSE


Quick Sort 0 FALSE
Find Kth Element 0 FALSE
Family Structure 0 FALSE
Binary String With no consecutive 1s 0 FALSE

Linked List

Reverse A Linked List 0 FALSE


Mid Point In Linked List 0 FALSE
Merge Sort 0 FALSE
Add Two Linked Lists 0 FALSE
Insertion Sort on Linked List 0 FALSE
Delete Kth node from End 0 FALSE
Detect And Remove Cycle 0 FALSE
Swap Nodes In Pairs 0 FALSE
Append Nodes 0 FALSE
Segregate Odd even 0 FALSE

Stacks & Queues

Implement Stack Using Array 0 FALSE


Implement Stack Using Linked List 0 FALSE
Implement Queue Using Array/LinkedList 0 FALSE
Implement Queue Using 2 Stacks 0 FALSE
Implement Stack Using 2 Queues 0 FALSE
Min Stack 0 FALSE
Next Greater Element 0 FALSE
Stock Span Problem 0 FALSE
Reverse Queue 0 FALSE
Valid Parantheses 0 FALSE

Binary Trees & BST

Diameter Of Binary Tree 0 FALSE


LCA Of Binary Tree 0 FALSE
Level Order Traversal Binary Tree 0 FALSE
ZigZar Order Traversal Binary Tree 0 FALSE
Left View Of Binary Tree 0 FALSE
Top View Of Binary Tree 0 FALSE
Construct Binary Tree From Inorder And
0 FALSE
Preorder
Vertical Order Traversal Of Binary Tree 0 FALSE
Inorder Traversal Binary Tree Using
0 FALSE
Stacks
LCA of two nodes in BST 0 FALSE
BST Delete 0 FALSE
Check if binary tree is BST? 0 FALSE
Kth smallest element in BST 0 FALSE
Predecessor And Successor In BST 0 FALSE
Pair sum in BST 0 FALSE

Mixed Questions - 2
(Concept learned in BASIC DSA and topics above will be used here.
This is critical to become great in DSA.)
Find whether array is subset of another
0 FALSE
array
Median of 2 Sorted Arrays 0 FALSE
LCA of 3 nodes 0 FALSE
Remove Keys Outside Given Range 0 FALSE
Seach in a row wise and column wise
0 FALSE
sorted matrix
Check Linked List is Palindrome? 0 FALSE
K Reverse Linked List 0 FALSE
Tower Of Hanoi 0 FALSE
BST Iterator 0 FALSE
Flatten Binary Tree To Linked List 0 FALSE
Rearrange Linked List 0 FALSE
Largest Rectangle In Histogram 0 FALSE
Quick Sort On Linked List 0 FALSE
Sorted Linked List To Balanced BSTs 0 FALSE
Binary Tree to Doubly Linked List 0 FALSE
Bottom Right View Of Binary Tree 0 FALSE
Merge Two BSTS 0 FALSE
Merge Two Binary Trees 0 FALSE
Sort A Stack 0 FALSE
Boundary Traversal of Binary Tree 0 FALSE
Longest Substring with K Distinct
0 FALSE
Characters
HashMap Implementation 0 FALSE
Closest Distance Pair 0 FALSE
Time to burn tree 0 FALSE
Allocate Books 0 FALSE
Clone A LinkedList With Random And
0 FALSE
next Pointer
Fix BST 0 FALSE
Nth root of Integer 0 FALSE
Size of the largest BST 0 FALSE
LRU Cache 0 FALSE
Notes Codes
Mark For
Topic Problem Name With Link Done
Revision

Greedy Techniques

Fractional Knapsack 0 FALSE


Gas Tank 0 FALSE
Job Sequencing 0 FALSE
Next Greater Number 0 FALSE
Minimum Cash Flow 0 FALSE

Tries

Implement A Trie(Insert,Search) 0 FALSE


Trie (Delete) 0 FALSE
Count distinct substrings 0 FALSE
Spell Checker 0 FALSE
Maximum XOR 0 FALSE

Sliding Window & Deque


Smallest Subarray With K Distinct
0 FALSE
Elementsin Every K Size
Count Distinct Element
0 FALSE
Window
Longest Substring Without Repeating
0 FALSE
Characters
Anagram Substring Search 0 FALSE
Implement Dequeue 0 FALSE
Sliding Maximum 0 FALSE
Maximum in Subarrays of length K 0 FALSE

Priority Queues & Heaps

Implement Priority Queue 0 FALSE


Convert Min Heap To Max heap 0 FALSE
Kth Smalles & Largest Element 0 FALSE
Kth Largest Sum Subarray 0 FALSE
Merge K Sorted Arrays 0 FALSE
Running Median 0 FALSE
Connect n ropes with minimum cost 0 FALSE

Advanced Recursion & Backtracking

N Queen Problem 0 FALSE


Sudoku Solver 0 FALSE
Rat in a Maze 0 FALSE
Letter Combinations Of Phone Number 0 FALSE
Subsequences of String 0 FALSE
Combination Sum 0 FALSE
Print Permutations 0 FALSE
Restore IP Addresses

Dynamic Programming

Count way to reach nth stair 0 FALSE


House Robber 0 FALSE
Ways to make coin change 0 FALSE
Rod Cutting Problem 0 FALSE
Minimum Jumps To Reach End 0 FALSE
Minimum steps to reach target by Knight 0 FALSE
Longest Increasing Subsequence 0 FALSE
Longest Common Subsequence 0 FALSE
Edit Distance 0 FALSE
Interleaving 2 strings 0 FALSE
Minimum Deletions 0 FALSE
0-1 Knapsack 0 FALSE
Best Time to buy and sell stock 0 FALSE
Matrix Chain Multiplication 0 FALSE
Partition Equal Subset Sum 0 FALSE

Graphs

Largest Island 0 FALSE


Is Graph A Tree? 0 FALSE
Snake & Ladder Problem 0 FALSE
Shortest path in Binary Matrix 0 FALSE
Djikstra’s Algorithm 0 FALSE
MST Using Prim’s Algorithm (With Priority
0 FALSE
Queue)Algorithm (With
MST Using Kruskal's
0 FALSE
Disjoint Set Union)
Topological Sort 0 FALSE
M Coloring Problem 0 FALSE
Detect Cycle In Directed Graph 0 FALSE
Bipartite Check 0 FALSE
Bellman Ford Algorithm 0 FALSE
Floyd Warshall Algorithm 0 FALSE
Mixed Questions - 3
(Concept learned in Basic DSA , Intermediate DSA and topics above
will be used here. This is critical to become great in DSA.)

Minimum Fountains 0 FALSE


Minimum Coins 0 FALSE
Implement Atoi Function 0 FALSE
Generate Paranthesis 0 FALSE
Minimum insertions to make string
0 FALSE
palindrome
Convert BST to Min Heap 0 FALSE
Fruit And Baskets 0 FALSE
Subset Sum 0 FALSE
Path With Good Nodes 0 FALSE
Longest Path In Directed Graph 0 FALSE
Minimum Window Subsequence 0 FALSE
Longest Bitonic Subsequence 0 FALSE
Longest Palindromic Substring 0 FALSE
Number of balanced binary trees 0 FALSE
Merge intervals 0 FALSE
Merge K Sorted Linked List 0 FALSE
LCS of 3 strings 0 FALSE
Clone Graph 0 FALSE
Minimum K product 0 FALSE
Longest Increasing Path in 2d matrix 0 FALSE
City With Smallest Number of Neighbours 0 FALSE
Non Overlapping Intervals 0 FALSE
K most frequent elements 0 FALSE
Maximum Equal Stack Sum 0 FALSE
Minimum subset sum difference 0 FALSE
Word Break Problem 0 FALSE
Find all occurrences of multiple patterns 0 FALSE
Unbounded Knapsack 0 FALSE
Fact Digit Sum 0 FALSE
Palindrome Partitioning 0 FALSE
Sorted Matrix 0 FALSE
Alien Dictionary 0 FALSE
Word Ladder 0 FALSE
Scramble String 0 FALSE
Painter's Partition 0 FALSE
Longest Chunked Palindrome
0 FALSE
Decomposition
Most Stones Removed 0 FALSE
Buy And Sell Stock Advanced 0 FALSE
Maximum Size Rectangle Sub-matrix With
0 FALSE
All 1's
Path With Minimum Effort 0 FALSE
Notes Codes
Mark For
Topic Problem Name With Link Done
Revision

Bit Manipulation
Find a value whose XOR with a given value
is maximum. 0 FALSE
Set K Bits 0 FALSE
X or Y 0 FALSE
Count Bitwise OR of all subarrays 0 FALSE
Power of 2 0 FALSE
Flip Given Bits 0 FALSE
Braille's Dilemma 0 FALSE

String Algorithms

Boyer Moore Algorithm 0 FALSE


Z Algorithm 0 FALSE
KMP Algorithm 0 FALSE
Rabin Karp Algorithm 0 FALSE
Manacher's Algorithm 0 FALSE

Segment Tree

Range Minimum Query 0 FALSE


Fastest Horse 0 FALSE
Maximum Subarray Sum Queries 0 FALSE
Ninja and Meteorites 0 FALSE
Squares Sum 0 FALSE
AP Queries 0 FALSE

Number Theory

Sieve of Eratosthenes 0 FALSE


Sum Of Factors 0 FALSE
Extended Euclid Algorithm 0 FALSE
Modulo Calculation 0 FALSE
Modular Exponentiation 0 FALSE

DP with Trees

Maximum Height Tree 0 FALSE


Ninja and Numbers 0 FALSE
Notes Codes
Revision Problems

Problem Name Problem Link


Status (Not Done Yet, Need To
Revise Again, Done And Dusted)
Most Important Things While Following This Roadmap :
Don't Miss this video :It's a one time effort, but that will give you lot of clarity behind this
roadmap. That will really motivate you to follow this roadmap and make you best in DSA.

Important :
If you have not created a copy, you will not be able to make changes in the sheet.
Make your own copy by choosing 'Make Copy' option from 'File' Menu.

Deadlines are set according to the start date from the top. If you are starting today, you can
change the start date and deadlines will be set accordingly.

Also, for each topic deadline is assigned according to the number of days. I have set
according to my own experience. But you can increase or decrease it, and deadlines will be
changed accordingly.
Whichever problem, you will mark for revision, will start getting updated in the revision
problem section, which you can navigate from the bottom.

You can sync your calendar with the topic deadlines by changing your email id and clicking sync google calend

Last Request, this has been made with a lot of efforts and experience of learning and
teaching DSA. But there can be lot of suggestions/feedback from your side which you want
to improve.

Also, it would be a great motivation for me if you will share it on social media
platforms like LinkedIn, Instagram etc. that you have started following this DSA-251
Roadmap.
It will be great to know that people are actually doing it.

Other Important Videos Helpful For You


How to Make Notes in DSA?
How How Not To Learn DSA? Most Common Mistakes.
How To Learn To Code in 2023 From Scratch?
How To Manage DSA, Development, College or Office Together?
g This Roadmap :

Video link : https://youtu.be/qqvYFlBJMSw

Make your own copy by choosing 'Make Copy'


option from 'File' Menu.

Change Start Date From Here

Change Deadlines According To Days Here

Check Revision Problems Here

Change Email Id To Sync With Google Calendar

Suggestion Form Link : https://forms.gle/Qb3QpZac6Xh7FVEo8

ul For You
https://youtu.be/Ip0LcF5a1xQ
https://youtu.be/RRjekv8D-O8
https://youtu.be/cTwALtdYmCo
https://youtu.be/TLAARB9v9IE

You might also like