0% found this document useful (0 votes)
261 views23 pages

DSA-251 by Parikh Jain

Uploaded by

Dea Mishra
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as XLSX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
261 views23 pages

DSA-251 by Parikh Jain

Uploaded by

Dea Mishra
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as XLSX, PDF, TXT or read online on Scribd
You are on page 1/ 23

Use This DSA-251 Roadmap On Laptop For Much Better User Experience

(Might not be able to see actual problems in mobile)

StartDate
Don't Miss This Video. One Time EffortTo
(Change
Usewhenever
This Roadmap
you start
Really4/29/2023
Well : https://youtu.be/qqvYFlBJMSw
this roadmap)

Total Questions
Must Read This Before Following This Roadmap!
Topic
Questions Done

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

Revision/Break Days

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

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

Revision/Break Days

DSA Project

This is a great DSA project as it


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

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

OVERALL PROGRESS 251 0/251


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.

Email Id [email protected]

Deadline
Status Number of days (Set According To
Start Date)

Not Started 2.00 5/1/2023 0:00:00


Not Started 2.00 5/3/2023 0:00:00
Not Started 2.00 5/5/2023 0:00:00
Not Started 2.00 5/7/2023 0:00:00
Not Started 2.00 5/9/2023 0:00:00
Not Started 3.00 5/12/2023 0:00:00

Not Started 8.00 5/20/2023 0:00:00

Not Started

k Days 3

Not Started 2 5/25/2023 0:00:00


Not Started 2 5/27/2023 0:00:00
Not Started 4 5/31/2023 0:00:00
Not Started 4 6/4/2023 0:00:00
Not Started 7 6/11/2023 0:00:00

Not Started 15 6/26/2023 0:00:00

Not Started

k Days 6
Not Started 3 7/5/2023 0:00:00
Not Started 3 7/8/2023 0:00:00
Not Started 4 7/12/2023 0:00:00
Not Started 4 7/16/2023 0:00:00
Not Started 4 7/20/2023 0:00:00
Not Started 8 7/28/2023 0:00:00
Not Started 7 8/4/2023 0:00:00

Not Started 20 8/24/2023 0:00:00

Not Started

k Days 10

FALSE

Not Started 3
Not Started 3
Not Started 3
Not Started 3
Not Started 2
Not Started
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 Stacks 0 FALSE
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 array 0 FALSE
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 sorted
0 FALSE
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 Characters 0 FALSE
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 next
0 FALSE
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 Elements 0 FALSE


Count Distinct Element in Every K Size
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)
MST Using Kruskal's Algorithm (With Disjoint
0 FALSE
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 palindrome 0 FALSE

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 Decomposition 0 FALSE

Most Stones Removed 0 FALSE

Buy And Sell Stock Advanced 0 FALSE


Maximum Size Rectangle Sub-matrix With All
0 FALSE
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 c

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