πŸ’› Built with love by Rohit β€” If CodeSmash helped you, share it with your friends. That's all the fuel I need to keep building πŸš€ β€’ πŸ’› Built with love by Rohit β€” If CodeSmash helped you, share it with your friends. That's all the fuel I need to keep building πŸš€ β€’ πŸ’› Built with love by Rohit β€” If CodeSmash helped you, share it with your friends. That's all the fuel I need to keep building πŸš€ β€’ πŸ’› Built with love by Rohit β€” If CodeSmash helped you, share it with your friends. That's all the fuel I need to keep building πŸš€ πŸ’› Built with love by Rohit β€” If CodeSmash helped you, share it with your friends. That's all the fuel I need to keep building πŸš€ β€’ πŸ’› Built with love by Rohit β€” If CodeSmash helped you, share it with your friends. That's all the fuel I need to keep building πŸš€ β€’ πŸ’› Built with love by Rohit β€” If CodeSmash helped you, share it with your friends. That's all the fuel I need to keep building πŸš€ β€’ πŸ’› Built with love by Rohit β€” If CodeSmash helped you, share it with your friends. That's all the fuel I need to keep building πŸš€
🧠
πŸ—ΊοΈ Learning Roadmap

Programming & DSA Skill Path

Start from absolute zero and reach interview-ready. Learn C++, master Data Structures & Algorithms, and build competitive programming skills β€” step by step.

Jump to:
4Levels
17Topics
35Resources
🌱

Beginner

4 topics

Start from scratch. Learn C++ from zero β€” syntax, variables, conditionals, loops, and functions. No prior experience needed.

1

Why C++? Choosing Your Language

Choose any language you want and stick to it. C++ is the most widely used language in competitive programming and technical interviews. It's fast, powerful, and has excellent STL support. If you're starting fresh, C++ is the best choice.

2

C++ Basics β€” Syntax, Variables & I/O

Learn how to write your first C++ program. Understand data types, variables, cin/cout, and basic program structure. This is the foundation everything else builds on.

3

Conditionals & Loops

Master if-else, switch, for loops, while loops, and do-while. Practice writing logic that repeats and branches β€” the backbone of every algorithm you'll ever write.

4

Functions & Recursion

Learn how to write reusable functions, understand scope, pass by value vs reference, and get your first taste of recursion β€” a concept you'll use heavily in DSA.

πŸ“˜

Basics

4 topics

Level up your C++ skills. Learn arrays, strings, pointers, and the Standard Template Library (STL) β€” the tools you'll use in every DSA problem.

1

Arrays & Strings in C++

Arrays are the most fundamental data structure. Learn 1D/2D arrays, string manipulation, character arrays, and the string class. Most DSA problems start here.

2

Pointers & References

Understand memory addresses, pointers, and references. These are essential for linked lists, trees, and dynamic memory β€” concepts you cannot skip in C++.

3

STL β€” Standard Template Library

The STL is a game-changer for competitive programming. Learn vector, map, set, pair, stack, queue, priority_queue, and sort. Knowing STL well gives you a massive speed advantage.

4

Time & Space Complexity (Big O)

Before solving DSA problems, learn how to analyze efficiency. Understand O(n), O(log n), O(nΒ²), space complexity, and why this matters for writing optimized solutions.

⚑

Intermediate

5 topics

Start solving real problems. Get comfortable with competitive programming platforms, practice consistently, and tackle the core DSA topics.

1

Getting Started with Competitive Programming

Competitive programming trains you to solve problems fast and correctly under time pressure. Start with easy problems, build consistency, and never skip reading the editorial after you fail. Consistency beats talent every time.

2

Arrays & Strings (DSA)

Master array patterns: sliding window, two pointers, prefix sums, and frequency maps. Arrays are asked in every single company interview β€” from internships to Big Tech.

3

Linked Lists

Understand singly and doubly linked lists, reversal, cycle detection (Floyd's algorithm), merge, and intersection. A favourite topic in Amazon, Microsoft, and Flipkart interviews.

4

Stack & Queue

Learn LIFO and FIFO structures, and when to use them. Master monotonic stacks, deques, and implement them using arrays and STL. Common in Google and Amazon interviews.

5

Searching & Sorting

Every DSA interview involves sorting and searching. Master binary search (and all its variations), merge sort, quick sort, and know when to use each algorithm.

πŸš€

Advanced

4 topics

Tackle the hard stuff. Trees, graphs, and dynamic programming are asked in almost every top-tier company interview. Master these and you're interview-ready.

1

Trees & Binary Search Trees

Understand tree traversals (inorder, preorder, postorder), height, diameter, LCA, and BST operations. Trees appear in 40%+ of interview questions at companies like Google and Meta.

2

Heaps & Priority Queues

Learn min-heap, max-heap, heap sort, and problems like K-th largest element, median of a stream, and merge K sorted lists. Priority queues are STL-ready in C++.

3

Graphs

Graphs are the most powerful and universally feared DSA topic. Learn BFS, DFS, Dijkstra, Union-Find, topological sort, and detect cycles. Build this skill and stand out instantly.

4

Dynamic Programming

DP is the ultimate test of problem-solving skill. Start with basic memoization, learn tabulation, and master 1D/2D DP, knapsack, LCS, LIS, and partition DP. This topic alone can make or break your interview.

πŸ†

Practice using our DSA Sheet!

We have curated the best DSA questions β€” practice them alongside this roadmap. Open DSA Sheet β†’