0% found this document useful (0 votes)
21 views

RoadMap_DSA

Uploaded by

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

RoadMap_DSA

Uploaded by

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

Level 1: Linear data structures

Linked Lists

Singly Linked List


Insertion at the front
Insertion at the end
Insertion at k-th position
Deletion in a linked list
Circular Linked list
Doubly Linked list

Stacks and Queues

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

Time Complexity

Fundamentals of Time Complexity


Apply time complexity to DSA problems
Log and Square root time complexity
Practice problems

Searching and Sorting Algorithms

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

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 Approach & 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

Creating Prefix Array


Optimization using Prefix Sum
Suffix Arrays
Good Subarrays problem
Counting Pretty Numbers problem
Mystical Numbers Problem
Rectangular Queries problem
More practice problems

Binary Search

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

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

Level 3: Non-Linear data structures

2D Arrays / Matrices

Representing a Matrix
Matrix traversal
Matrix multiplication
Matrix rotations
Finding path with minimum sum
Search in Matrix
Median in Matrix

Trees and Binary trees

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

Graphs

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

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

Bit Manipulation

Binary Number System


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

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
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
Sieve of Eratosthenes
Primality Test
Prime Factorization Method using Sieve O (log n)

Combinatorics

Introduction to Combinatorics
Conceptual Problems

Level 5 : Advanced data structures

Disjoint Set Union

Introduction to Disjoint Set Union


Parent Find and Union operations
Naive DSU implementation
Path Compression Optimization
Optimal Union
Practice Problems

Tries

Structure of a Trie
Insertion in Trie
Searching for a string in Trie
Deleting a string in Trie
Applications - Spell Check, Autocomplete

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy