Here’s a complete 6-day DSA revision plan focusing on arrays, strings,
and all key DSA topics, with handpicked questions from LeetCode,
HackerRank, HackerEarth, and GFG, plus a strategy for effective revision
and STL usage in C++.
DSA Revision Plan: 6 Days (3–4 hrs/day)
1. Arrays
Key Algorithms/Concepts:
Traversal, Prefix Sum, Two Pointers, Sliding Window, Sorting,
Binary Search, Hashing, Kadane’s, Rotations, Subarrays/Subsets
Practice Questions:
HackerRank Arrays (Easy/Medium)3
LeetCode Two Sum5
LeetCode Best Time to Buy and Sell Stock5
LeetCode Maximum Subarray (Kadane’s)5
LeetCode Find the Duplicate Number5
LeetCode Set Matrix Zeroes5
LeetCode Merge Intervals5
GFG Missing Number in Array
GFG Leaders in an Array
GFG Subarray with 0 sum
2. Strings
Key Algorithms/Concepts:
Traversal, Hashing/Counting, Palindrome,
Substrings/Subsequences, Sliding Window, Anagram, Pattern
Matching
Practice Questions:
HackerEarth String Manipulation Set4
LeetCode Longest Substring Without Repeating Characters5
LeetCode Valid Anagram5
LeetCode Longest Palindromic Substring5
LeetCode Group Anagrams5
LeetCode Implement strStr()5
GFG Reverse Words in a String
GFG Check if strings are rotations
GFG Remove duplicates
3. Linked Lists
Key Algorithms/Concepts:
Traversal, Reversal, Detect Cycle, Merge, Palindrome, Intersection
Practice Questions:
LeetCode Reverse Linked List
LeetCode Linked List Cycle
LeetCode Merge Two Sorted Lists
LeetCode Remove Nth Node From End
GFG Intersection Point in Y Shaped Linked Lists
4. Stacks & Queues
Key Algorithms/Concepts:
Stack/Queue Operations, Next Greater Element, Valid Parentheses,
Min Stack, Sliding Window Maximum
Practice Questions:
LeetCode Valid Parentheses
LeetCode Min Stack
LeetCode Next Greater Element I
LeetCode Sliding Window Maximum
GFG Queue using Stacks
5. Trees & Binary Search Trees
Key Algorithms/Concepts:
Traversals, Height/Depth, BST Properties, LCA, Balanced Tree,
Serialization
Practice Questions:
LeetCode Binary Tree Inorder Traversal
LeetCode Maximum Depth of Binary Tree
LeetCode Validate Binary Search Tree
LeetCode Lowest Common Ancestor of BST
GFG Serialize and Deserialize a Binary Tree
6. Heaps & Priority Queues
Key Algorithms/Concepts:
Heap Operations, Kth Largest/Smallest, Heap Sort, Priority Queue
Practice Questions:
LeetCode Kth Largest Element in an Array
LeetCode Merge k Sorted Lists
LeetCode Top K Frequent Elements
GFG Heap Sort
GFG Is Binary Tree Heap
7. Graphs
Key Algorithms/Concepts:
BFS, DFS, Connected Components, Shortest Path, Topological Sort,
Cycle Detection
Practice Questions:
LeetCode Number of Islands
LeetCode Course Schedule (Topological Sort)
LeetCode Clone Graph
GFG Detect Cycle in Directed Graph
GFG Dijkstra’s Shortest Path
8. Dynamic Programming
Key Algorithms/Concepts:
0/1 Knapsack, LIS, LCS, Coin Change, DP on Strings/Grids
Practice Questions:
LeetCode Climbing Stairs
LeetCode Longest Increasing Subsequence
LeetCode Coin Change
LeetCode Longest Common Subsequence
GFG 0/1 Knapsack
9. Greedy Algorithms
Key Algorithms/Concepts:
Activity Selection, Fractional Knapsack, Huffman Coding, Interval
Problems
Practice Questions:
LeetCode Jump Game
LeetCode Gas Station
LeetCode Merge Intervals
GFG Fractional Knapsack
GFG Activity Selection
10. Bit Manipulation
Key Algorithms/Concepts:
XOR Tricks, Bit Counting, Power of Two, Subset Generation
Practice Questions:
LeetCode Single Number
LeetCode Counting Bits
LeetCode Subsets
GFG Power Set
GFG Count Set Bits
Strategy & STL Usage
Day 1-2: Arrays & Strings
Focus on pattern recognition (sliding window, two pointers,
hashing). Use STL containers like vector, set, map, and algorithms
like sort, find, count.
Day 3: Linked Lists, Stacks, Queues
Practice pointer manipulation, stack/queue STL usage (stack, queue,
deque).
Day 4: Trees, Heaps
Use recursion for trees, STL priority_queue for heaps.
Day 5: Graphs, Bit Manipulation
Implement BFS/DFS using STL queue/stack, use bitwise operators.
Day 6: DP, Greedy, Revision
Focus on state definition, transitions, and optimal substructure.
Review all weak areas and revise tricky patterns.
Daily Routine:
1 hr: Learn/revise concepts
2 hrs: Practice 4–5 problems (mix easy/medium/hard)
1 hr: Review solutions, revise STL usage, and note patterns
Revision Tips:
Maintain a notebook for STL snippets and patterns
After solving, re-implement using STL
Review mistakes and revisit tough problems
References & Further Reading
[Complete DSA & Algo List with C++ Implementations]1
[Quick DSA Revision List]2
[Tech Interview Handbook Array Cheatsheet]6
[UntoldCoding DSA Plan PDF]8
[Competitive Programming Roadmap]7
With this plan, you’ll cover all core DSA topics, revise C++ STL, and
practice real interview-level questions from top platforms in just 6 days.
Good luck!
Citations:
1. https://dev.to/iuliagroza/complete-introduction-to-the-30-most-
essential-data-structures-algorithms-43kd
2. https://www.linkedin.com/pulse/quick-revision-data-structures-
algorithms-dsa-concepts-kusvaha-oq9wf
3. https://www.hackerrank.com/domains/data-structures/arrays/
difficulty:easy/page:1/
4. https://www.hackerearth.com/practice/algorithms/string-
algorithm/basics-of-string-manipulation/practice-problems/
5. https://getsdeready.com/top-15-dsa-questions-using-arrays-and-
strings-for-coding-interviews/
6. https://www.techinterviewhandbook.org/algorithms/array/
7. https://workat.tech/problem-solving/article/competitive-
programming-complete-roadmap-from-scratch-sbcrmnxb1sfg
8. https://www.scribd.com/document/790917015/DSA-Plan-
UntoldCoding
9. https://www.reddit.com/r/leetcode/comments/1dybj6p/
how_do_you_all_revise_dsa_what_strategies_do_you/
10. https://zerotomastery.io/cheatsheets/data-structures-and-
algorithms-cheat-sheet/
11. https://cses.fi/book.pdf
12. https://www.designgurus.io/answers/detail/how-many-hours-
of-dsa-per-day
13. https://www.linkedin.com/pulse/20-coding-patterns-master-
dsa-data-structures-algorithms-ankit-malik
14. https://daily.dev/blog/best-competitive-programming-for-
beginners
15. https://www.reddit.com/r/developersIndia/comments/
ws4y7t/what_are_the_important_topics_of_dsa_that/
16. https://www.youtube.com/watch?v=8hly31xKli0
17. https://www.freecodecamp.org/news/the-top-data-structures-
you-should-know-for-your-next-coding-interview-36af0831f5e3/
18. https://www.codechef.com/roadmap/data-structures-and-
algorithms
19. https://en.wikipedia.org/wiki/List_of_data_structures
20. https://www.techinterviewhandbook.org/algorithms/study-
cheatsheet/
21. https://www.hackerrank.com/domains/data-structures/
arrays/page/1
22. https://www.hackerrank.com/interview/interview-preparation-
kit/arrays/challenges
23. https://www.hackerrank.com/topics/arrays/
24. https://www.youtube.com/watch?v=6dbfeaqRBFU
25. https://www.youtube.com/watch?v=xo7XrRVxH8Y
26. https://www.hackerrank.com/domains/data-structures
27. https://www.reddit.com/r/csMajors/comments/z4qjzx/
a_guide_to_competitive_programming/
28. https://www.youtube.com/watch?v=bSdp2WeyuJY
29. https://www.youtube.com/watch?v=bVKHRtafgPc
30. https://www.youtube.com/watch?v=EZmKIY2-KMs
Answer from Perplexity: pplx.ai/share