1/14/25, 12:27 PM Learn Data Structures and Algorithms - Roadmap
Upgrade to Pro Login Sign Up
Courses Practice Compete
Catalog / Roadmaps / Learn Data Structures and Algorithms -…
Learn Data Structures and Algorithms -
Roadmap
Learn and Practice problems on data structures and algorithms
like Linked Lists, Stacks, Queues, Matrices, Trees, Graphs,
Greedy Algorithms, Two pointers, Prefix sums, Binary search,
Recursion, Bit manipulation, Dynamic programming, Number
theory, Heaps, DSU and Tries. Solve over 450 problems in total.
Coding Problems: 703+ Total Courses: 23
Syllabus Reviews (3) FAQs
Start Roadmap Now
50k+ learners enrolled already
23 courses
703 problems
Any pre-requisites required to start?
If you have finished any of these roadmaps, you are good to start.
Learn C++, Learn Python, Learn Java, Learn C, Learn JavaScript.
LEVEL 1
Linear data structures
Learn to implement and use Linear Data Structures
Linear data structures are the most used data structures due to their simplicity and ease of use.
Linked Lists
Learn Course 18 Problems
Singly Linked List
Insertion at the front
Insertion at the end
https://www.codechef.com/roadmap/data-structures-and-algorithms 1/11
1/14/25, 12:27 PM Learn Data Structures and Algorithms - Roadmap
Insertion at k-th position
Deletion in a linked list
Circular Linked list
Doubly Linked list
Stacks and Queues
Learn Course 27 Problems
Stack introduction
Push, Pop, Peek, isEmpty, isFull functions
Implementing a Stack
Stacks using inbuilt libraries
Valid parenthesis problem
Dealing with Reverse Polish Notation
Finding Next Greater Element
Largest Rectangle in a Histogram
Queue introduction - Enqueue / Dequeue
Queue Implementation
To do list using a Queue
LEVEL 2
Basic Algorithms
Start with learning about what algorithms are and how to analyse them. Then move to important algorithms like
Binary Search, Greedy,Two pointers, Sorting etc.
Time complexity
Learn Course 39 Problems
Fundamentals of Time Complexity
Applying time complexity to DSA problems
Log and Square root time complexity
Practice problems
Searching and Sorting Algorithms
Learn Course 35 Problems
https://www.codechef.com/roadmap/data-structures-and-algorithms 2/11
1/14/25, 12:27 PM Learn Data Structures and Algorithms - Roadmap
Introduction to linear Search
Practice Linear Search
Introduction to Sorting
Bubble Sort
Selection Sort
Insertion Sort
Merge Sort
Quick Sort
Counting Sort
Radix Sort
Greedy Algorithms
Learn Course 22 Problems
Introduction to Greedy Algorithms
Basics of Greedy and Proofs
Chopsticks Problem
Evacuate to Moon Problem
Snakes and Moongose Problem
Maximum Score Problem
Maximize Disjoint Pair Sum
Two Pointers and Sliding Window Technique
Practice Course 28 Problems
Two Pointers Technique
Sliding Window Technique
Remove duplicates from a sorted array
Find if absolute difference of two elements equals B
Find common elements in two arrays
Minimum Similar Substring
Palindrome by Splitting
More practice problems
Prefix Sum Problems
Practice Course 14 Problems
https://www.codechef.com/roadmap/data-structures-and-algorithms 3/11
1/14/25, 12:27 PM Learn Data Structures and Algorithms - Roadmap
Creating Prefix Array
Optimizations using Prefix Sum
Suffix Arrays
Good Subarrays problem
Counting Pretty Numbers problem
Mystical Numbers problem
Rectangular Queries problem
More Practice Problems
Binary Search
Learn Course 21 Problems
What is Binary Search?
Visualization of Binary Search
Time Complexity Analysis of Binary Search
Using Inbuilt libraries
Solve Average Flex
Solve The Wave
Implicit Binary Search
Binary Search Templates
Solve Coins and Triangle
Recursion
Learn Course 26 Problems
Introduction to Recursion
Base Condition
Solve Sum of N Numbers using Recursion
Factorial using Recursion
Fibonacci series
Linear search and patterns using Recursion
Palindrome using Recursion
All Possible Subsets
Backtracking - Unique Combinations Sum
Backtracking - Find Unique Permutations
https://www.codechef.com/roadmap/data-structures-and-algorithms 4/11
1/14/25, 12:27 PM Learn Data Structures and Algorithms - Roadmap
LEVEL 3
Non-Linear data structures
Learn to implement and use Trees and Graphs
To store and perform complex operations on a variety of data, linear data structures are not enough. Tree and Graph
like data structures work best in such caaes.
2D Array / Matrices
Practice Course 23 Problems
Representing a Matrix
Matrix traversal
Matrix multiplication
Matrix rotations
Finding path with minimum sum
Search in Matrix
Median in Matrix
Trees and Binary trees
Learn Course 69 Problems
Introduction to Trees
Nodes, Edges, Root, Leaves
Tree property
Degree of a Node
Depth and Height of a Tree
Adjacency matrix representation
Adjacency list representation
Depth First Search
Breadth First Search
Binary Trees
Types of Binary Trees
PreOrder, PostOrder and InOrder traversal
Height of a Binary Tree
Binary Search Tree
Search in Binary Search Tree
https://www.codechef.com/roadmap/data-structures-and-algorithms 5/11
1/14/25, 12:27 PM Learn Data Structures and Algorithms - Roadmap
Graphs
Learn Course 35 Problems
Introduction to Graphs
Undirected and Directed Graphs
Representation as Adjacency Matrix
Representation as Adjacency List
Graph Traversal
Depth First Search
Breadth First Search
Connected Components
Cycles in Graphs
Directed Acyclic Graph
Topological Sorting
Heaps
Learn Course 13 Problems
Introduction to Heaps
Max Heap and Min Heap
Representation as an Array
Insertion in Heap
Deletion of root
Time complexity of operations
Heap Sort
Find K-th largest number
LEVEL 4
Advanced Algorithms
Advanced algorithms are bit involved but they can be used to solve very hard problems.
Bit Manipulation
Learn Course 35 Problems
Binary Number System
https://www.codechef.com/roadmap/data-structures-and-algorithms 6/11
1/14/25, 12:27 PM Learn Data Structures and Algorithms - Roadmap
Converting Decimal to Binary
Bitwise Operators
AND Operator
OR Operator
XOR Operator
Solve Dull Operation
Not Operator
Signed and Unsigned Data Types
Left and Right Shift
Practice Problems
Dynamic programming
Learn Course 28 Problems
Introduction to Dynamic Programming
Maximum Subset Sum
Maximum Sum of a Valid Subset
Comparing with Greedy and Brute Force
Finding Subproblems
Solving Subproblems
Partitioning Problem
Maximum Sum Subarray
Longest Increasing Subsequence
Sums in a Triangle
Maximum sum path in a 2D Grid
Number theory
Learn Course 27 Problems
Prime Factorization
Prime Factorization in Sqrt(n)
Counting Divisors - I
GCD and LCM
Euclid Algorithm for GCD
Modular Arithmetic
Fast Exponentiation
Modular Multiplicative Inverse
Fermat Binomials
https://www.codechef.com/roadmap/data-structures-and-algorithms 7/11
1/14/25, 12:27 PM Learn Data Structures and Algorithms - Roadmap
Sieve of Eratosthenes
Primality Test
Prime Factorization Method using Sieve O (log n)
Combinatorics
Learn Course 20 Problems
Introduction to Combinatronics
Conceptual Problems
LEVEL 5
Advanced data structures
Learn to implement advanced Data structures like DSU and Tries
There are some advanced data structures, used for solving hard problems. You can learn these as well.
Disjoint Set Union
Learn Course 8 Problems
Introduction to Disjoint Set Union
Parent Find and Union operations
Naive DSU implementation
Path Compression Optimization
Optimal Union
Practice Problems
Tries
Learn Course 10 Problems
Structure of a Trie
Insertion in Trie
Searching for a string in Trie
Deleting a string in Trie
Applications - Spell Check, Autocomplete
https://www.codechef.com/roadmap/data-structures-and-algorithms 8/11
1/14/25, 12:27 PM Learn Data Structures and Algorithms - Roadmap
LEVEL 6
Extra practice
Data Structures Interview Questions
Practice Course 153 Problems
Basic programming - 1
Basic programming - 2
Arrays
Sorting
Strings
Linkedlist
Stacks
Queues
Binary Search
Graphs
Trees
Hashing
Two pointers
Dynamic Programming
Bit Manipulation
Backtracking
Linked Lists
Practice Course 15 Problems
Linked List
Stacks and Queues
Practice Course 17 Problems
Stack and Queue
https://www.codechef.com/roadmap/data-structures-and-algorithms 9/11
1/14/25, 12:27 PM Learn Data Structures and Algorithms - Roadmap
Heaps
Practice Course 20 Problems
Heap
What our learners are saying?
Thanks for this roadmap it really helpful to Its awesome for me as I am seeking for Grea
understand how my journey will be relevant. platform where I can revise my concepts. And basi
this is the best.
5.0 5.0
saravanans40 harshh007
Student Student
Frequently Asked Questions
What is this Data Structures and Algorithms roadmap?
This roadmap is a comprehensive learning path designed to guide you through mastering Data Structures and
Algorithms (DSA). It covers everything from basic concepts to advanced topics, helping you build a strong foundation in
DSA.
Who is this roadmap for?
Do I need any prerequisites to start this roadmap?
How long does it take to complete this roadmap?
What programming language should I use for this roadmap?
How is the roadmap structured?
https://www.codechef.com/roadmap/data-structures-and-algorithms 10/11
1/14/25, 12:27 PM Learn Data Structures and Algorithms - Roadmap
Do I need to complete all levels in order?
Are there any practice problems included?
Is this roadmap sufficient for coding interview preparation?
Can I get help if I'm stuck on a problem?
Is there a certificate upon completion of this roadmap?
How does this roadmap prepare me for competitive programming?
Learning Courses Practice Paths
Learn Python Practice Python
Learn JavaScript Practice JavaScript
Learn C++ Practice C++
Learn C Practice C
Learn Java Practice Java
More learning courses More practice paths
Online Compilers Miscellaneous
Python online compiler Blogs
C online compiler CodeChef For Colleges
C++ online compiler Coding Contests
Java online compiler About Us
JavaScript online compiler Contact Us
More compilers Privacy Policy
Follow Us
www.codechef.com
https://www.codechef.com/roadmap/data-structures-and-algorithms 11/11