Data structures and algorithm is one of the most important topics for your placement and interview preparation. Here is a complete roadmap to cover all the data structure algorithm topics and make you comfortable with the most important algorithms in data structure for your interviews. You can practice the company-specific data structure algorithm questions and give your career a push.
Pre-requisites: Basics of programming like functions, conditionals, loops in c++, java or python
Module 1
Complexity Analysis
2 Notes & 15 Problems
0/150
Complexity Analysis
View
MCQs
0/150
Attempt
Module 2
Arrays
6 Notes & 25 Problems
Asked in
0/1480
Introduction to Arrays & Kadane's Algorithm
0/240
Attempt
Dutch National Flag Algorithm
0/80
Attempt
Searching and Sorting
0/280
Attempt
Prefix and Suffix Sum
0/280
Attempt
Mixed Problems
0/600
Attempt
Module 3
Strings
1 Note & 15 Problems
Asked in
0/760
Introduction to Strings
0/200
Attempt
Mixed Problems in Strings
0/560
Attempt
Module 4
Basic Algorithms
2 Notes & 20 Problems
Asked in
0/1240
Two Pointers Technique
0/640
Attempt
Sliding Window Technique
0/600
Attempt
Module 5
Multidimensional Arrays
1 Note & 18 Problems
Asked in
0/960
Multidimensional Arrays
View
Traversal Based Problems
0/240
Attempt
Rotation Based Problems
0/120
Attempt
Mixed Problems
0/600
Attempt
Module 6
Recursion & Backtracking
3 Notes & 20 Problems
Asked in
0/1080
Recursion
0/240
Attempt
Divide & Conquer
View
Backtracking
View
Popular Problems
0/320
Attempt
Mixed Problems
0/520
Attempt
Module 7
Sorting
7 Notes & 7 Problems
Asked in
0/360
Sorting Notes
View
Problems Based on Sorting
0/360
Attempt
Module 8
Binary Search
1 Note & 21 Problems
Asked in
0/1160
Binary Search Notes
View
Binary Search on Matrix
0/200
Attempt
Binary Search on Answer
0/320
Attempt
Mixed Problems related to Binary Search
0/640
Attempt
Module 9
Linked Lists
3 Notes & 30 Problems
Asked in
0/1920
Linked List Reversal
0/400
Attempt
Sorting in Linked List
0/280
Attempt
Slow and Fast Pointers
0/320
Attempt
Modify Linked List
0/360
Attempt
Mixed Problems
0/560
Attempt
Module 10
Stacks & Queues
2 Notes & 18 Problems
Asked in
0/1120
Stacks
View
Queues
View
Implementation-based problems
0/400
Attempt
Application-based problems
0/280
Attempt
Mixed problems
0/440
Attempt
Module 11
Trees
4 Notes & 31 Problems
Asked in
0/2080
Introduction to Trees
View
Trees traversals
0/440
Attempt
Construction Of Trees
0/200
Attempt
Tree Views
0/360
Attempt
Standard Problems
0/360
Attempt
Mixed Problems
0/720
Attempt
Module 12
Binary Search Trees
2 Notes & 28 Problems
Asked in
0/1840
Introduction to BST
View
Construction of BST
0/360
Attempt
Conversion Based Problems
0/280
Attempt
Modification in BST Problems
0/360
Attempt
Standard Problems in BST
0/320
Attempt
Mixed Problems in BST
0/520
Attempt
Module 13
Priority Queues & Heaps
1 Note & 19 Problems
Asked in
0/1280
Priority Queues & Heaps Notes
View
Implementation and Conversion Based Problems
0/240
Attempt
K Based Problems
0/360
Attempt
Application Based Problems
0/680
Attempt
Module 14
Graphs
5 Notes & 26 Problems
Asked in
0/2280
Introduction To Graphs
View
Graph Traversals
0/560
Attempt
Minimum Spanning Trees
View
Shortest/Minimum path algorithms
View
Topological Sort
View
Problems related to graph algorithms
0/400
Attempt
Problems related to graphs in matrix
0/480
Attempt
Mixed Problems
0/840
Attempt
Module 15
Dynamic Programming
1 Note & 43 Problems
Asked in
0/3680
Dynamic Programming Notes
View
DP with Arrays Based Problems
0/440
Attempt
DP with Strings Based Problems
0/480
Attempt
DP with Maths Based Problems
0/400
Attempt
DP with Trees Based Problems
0/240
Attempt
Breaking and Partitioning Based Problems
0/440
Attempt
Counting Based Problems
0/440
Attempt
Standard Problems
0/360
Attempt
Mixed Problems
0/880
Attempt
Module 16
Tries
1 Note & 8 Problems
Asked in
0/760
Introduction to Tries
0/320
Attempt
Application Based Problems
0/440
Attempt
Module 17
Bit Manipulation
1 Note & 21 Problems
Asked in
0/920
Bit Manipulation
0/200
Attempt
Application Based Problems
0/200
Attempt
Mixed Problems
0/520
Attempt
Module 18
Greedy
1 Note & 15 Problems
Asked in
0/880
Greedy
View
Minimize/Maximize Problems
0/240
Attempt
Sorting based Problems
0/80
Attempt
Standard Problems
0/200
Attempt
Mixed Problems
0/360
Attempt
Module 19
Miscellaneous Topics
6 Notes & 11 Problems
Asked in
0/680
Hashmaps
0/40
Attempt
Circular Queues
0/80
Attempt
Deques
0/200
Attempt
Doubly Linked Lists
0/120
Attempt
Circular Linked Lists
0/40
Attempt
String Algorithms
0/200
Attempt
Score 80% (Without penalty)
Frequently Asked Questions
What is data structures and algorithms used for?
Data structures are used to store data, whereas algorithms are used to solve problems with that data.
What are various data structures available?
Some of the most common data structures are: Arrays, Stacks, Queues, Linked Lists, Graphs and Trees (Binary Tree, Binary Search Tree, AVL Tree, Red Black Tree, B+ Tree, B- Tree).
What are the 2 main types of data structures?
Two main types of data structures are Linear and Non-linear Data Structures. In the former, the elements are arranged one after the other while in non-linear data structure, the elements are arranged in a hierarchical manner. One element can be related to one or more elements.
How are data structures stored in memory?
Different data structures are stored differently in the memory. Like- All the elements of an array are stored in the continuous piece of memory, while the elements of a linked list can be stored at different places.
How many algorithms are there in data structure?
There are various sorts of algorithms. Some important algorithms are: Sorting Algorithms, Searching Algorithms, Hashing, Dynamic Programming, String Matching and Parsing, Greedy Algorithm, Brute Force Algorithm, Recursive Algorithm, Backtracking Algorithm, Divide and Conquer Algorithm.