0% ont trouvé ce document utile (0 vote)
3 vues7 pages

DSA Tutorial

Le tutoriel DSA (Data Structures and Algorithms) couvre les structures de données et les algorithmes essentiels pour le développement logiciel, en mettant l'accent sur leur importance dans les entretiens d'embauche des grandes entreprises. Il propose un apprentissage structuré des fondamentaux, des structures de données, des algorithmes, et des sujets avancés, tout en fournissant des exercices classés par difficulté. L'apprentissage du DSA améliore les compétences en résolution de problèmes et renforce les capacités de programmation.

Transféré par

Rajesh Rajamanickam
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
3 vues7 pages

DSA Tutorial

Le tutoriel DSA (Data Structures and Algorithms) couvre les structures de données et les algorithmes essentiels pour le développement logiciel, en mettant l'accent sur leur importance dans les entretiens d'embauche des grandes entreprises. Il propose un apprentissage structuré des fondamentaux, des structures de données, des algorithmes, et des sujets avancés, tout en fournissant des exercices classés par difficulté. L'apprentissage du DSA améliore les compétences en résolution de problèmes et renforce les capacités de programmation.

Transféré par

Rajesh Rajamanickam
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

DSA Tutorial

Last Updated : 5 Apr, 2026

DSA stands for Data Structures and Algorithms. Data structures manage how data is stored and
accessed. Algorithms focus on processing this data. Examples of data structures are Array, Linked
List, Tree and Heap, and examples of algorithms are Binary Search, Quick Sort and Merge Sort.

Foundation for almost every software like GPS, Search Engines, AI ChatBots, Gaming Apps,
Databases, Web Applications, etc

Top Companies like Google, Microsoft, Amazon, Apple, Meta and many other heavily focus on DSA in
interviews.

Learning DSA boosts your problem-solving abilities and make you a stronger programmer.

Topic Wise Complete Tutorials

Below are the recommended different topics to learn complete DSA.

Fundamentals : Maths, Complexity Analysis

Data Structures : Array, Hashing, Strings, Matrix, Linked List, Stack, Queue, Deque, Tree, Heap, Graph

Algorithms : Searching, Sorting, Two Pointer, Window Sliding, Prefix Sum, Recursion, Greedy
Algorithms, Dynamic Programming

Advanced Topics : Trie, Segment Tree, Red-Black Tree & Binary Indexed Tree

Other Algorithms : Bitwise Algorithms, Backtracking, Divide and Conquer, Branch and Bound,
Geometric & Randomized

Step by Step Learning

It is advised to skip the hard problems of every section in the first iteration if you are a complete
beginner.

Fundamentals

Programming : Input and Output, Conditional Statements, For loop, While loop, Function, Classes
and Objects

Complexity Analysis : Order of Growth, Asymptotic Analysis, Big-O, Theta, Big – Ω, Time Complexity,
Space Complexity

Maths, Pattern & Recursion

Theory : Recursion, Analysis of Recursion

Easy Maths : Even or Odd, Multiplication Table, Sum of Naturals, Closest Number

Easy Pattern : Solid Rectangle, Floyd's Triangle, Hollow rectangle


Easy Recursion: Print 1 to n, Print n to 1, Factorial, GCD, Power

Medium Pattern : Pyramid, Hollow Diamond

Medium Maths: Count Digits, Prime Testing, Armstrong Number, Trailing Zeros, Prime Factors, All
Divisors

Hard : Butterfly, Palindrome Number, Tower of Hanoi, Josephus, Water Jug

Array & String

Theory : Array, String, Matrix

Easy Array : Is Sorted, Reverse, Reverse in Groups, Rotate, Generate All Subarrays, Arrange by Sign,
Stock with 1 Transaction. Stock with Multiple Transactions, Leaders

Easy String : Same Strings, Palindrome, Toggle Case, Remove Occurrences, Remove Spaces, Check
Subsequence, First Non-Repeating, Pangram

Medium Array : Majority Element, Majority Element II, Sorted subsequence of 3, Count Strictly
Increasing Subarrays, Next Permutation, Kadane's Algorithm, Sum of all subarrays, Max Product
Subarray

Medium String: Implement atoi, URLify, Multiply Large Numbers

2D Array : Diagonal Traversal, Magic Square, Boundary Traversal, Matrix Spiral, Toeplitz Matrix,
Matrix Zig-Zag, Transpose of Matrix, Rotate a matrix by 90, Conway’s Game Of Life, Queries in a
Matrix, Set Matrix 0

Hard : Max Circular Subarray Sum, Next Smallest Palindrome, Lexicographic Rank, Text Justification

Searching

Theory : Searching

Linear Search : Largest, Second Largest, Local Min & Max

Binary Search : Insertion Position, Lower Bound, Upper Bound, Single Element, Missing Natural,
Count Occurrences, 2D Search, Sorted & Rotated, Sorted & Rotated II, K Closest, Search in Almost
Sorted, Peak, Peak in 2D, Range based Counts, Kth Missing, Search in Row-Column Sorted

Search on answer: Square Root, Nth Root, Check Power, Pick K, N trailing zeroes, Book Allocation,
Koko Eating Banana, Aggressive Cows, Median in a Row Sorted, Kth Smallest in Row and Column
Sorted, M bouquets, kth in Multiplication Table, Maximize Median, Min Time for Orders, Equalize
Towers

Search on Two: Median of two sorted, Kth of two sorted

Sorting

Theory : Sorting

Easy : Wave Form, Sort by Length

Medium : Merge Overlapping, Form Largest, Tywin's War Strategy, Candy Cost, Meeting Rooms,
Insert Merge Intervals, Minimize Moves, Max sum of i*arr[i]

Partition & Quick Sort Based : Quick Sort, Sort Binary, Zeroes to End, Sort Ternary
Merge & Merge Sort Based : Merge Sort, Union of 2 Sorted, Intersection of 2 Sorted, Merge Without
Extra Space, Minimum Platforms, Inversion count, Surpasser Count

Cycle Sort Based : Cycle Sort, Minimum Missing Positive, Min Swaps to Sort

Bit Manipulation

Theory : Bitwise

Easy : Swap without Third, Kth Set Bit, Only set bit, Power of two, Sort by Set bits

Medium : Power of 4, Binary is palindrome, Rotate Bits, Swap Odd Even, Count Set, Count Total Set,
Iterative Power

Bit with Arrays: Max Consecutive 1s, Missing, One Odd, Two Odds, Palindrome Permutation, Missing
& Repeating, Unique Numbers II, n-bit Gray Codes, Hamming Distance, Sum of Pair XORs, Sum of
Subset XORs, Subarray XORs, Is Valid Suduko

Subsets : Subsets, Subsequences

Hashing

Theory : Hashing

Basic Hashing: Linear Probing, Separate Chaining, Quadratic Probing, Distinct in Array, Is Subset,
Union, Intersection, 2 Sum, Fizz Buzz, Pair Sums Divisible by k, Roman to Integer, Isomorphic Strings

Hashing for Frequency: Count Frequencies, Most Frequent, Anagrams

Subsequence : Longest Consecutive Subsequence, Consecutive Subsequence

Two-Pointer

Theory : Two-Pointer

Easy : 2 Sum in Sorted, Smallest Subarray, Unique Elements, Sentence Palindrome

Medium : 3 Sum, Celebrity Problem, Closest Pair from 2, Container with Most Water, Common in 3,
Reverse Words, Policemen catch thieves

Hard : 4 Sum, Closest Triplet, Count Triplets

Sliding Window

Theory : Sliding Window

Fixes Length Window: Max Sum Subarray of size K, Max XOR of K size, Distinct In Every Window,
MEX Of Subarrays, Min Swaps to group all 1's, First negative in every window, Chocolate Distribution

Variable Length : Maximize Ones, Equal substring with cost less than K, Maximum points from cards,
Fruit Into Baskets, Subarray with given sum

Minimum length : Smallest subarray with sum greater than x, Minimum Window Subsequence,
Minimum Window Substring, Smallest containing 0, 1 and 2

Count Subarrays: Subarrays with k odds, Subarrays Less Than K, Substrings with all vowels, Number
of Subarrays having sum less than K, Count Subarrays with K Equal Value Pairs
Sliding Window with Hashing: Longest substring with distinct, Substring character replacement,
Longest Substring with K Uniques, Substrings with k distinct, Smallest with all characters, Smallest
distinct, Count Anagrams, Full Distinct Subarrays

Prefix Sum

Theory : Prefix Sum

Prefix Sum: Prefix Sum Array, Prefix Sum on 2D, Range Queries, Equilibrium Index, Mean of range,
Split array, Largest Submatrix, Max sum rectangle

Prefix / Suffix Transformation: Product of Array Except Self, Original Array, Longest Span

Difference Array: Diff Array, 2D Diff, Max occurring in ranges, Compute before Matrix, Point Counts
from Intervals

Prefix Sum with Hashing: Subarray with 0 sum, Largest with 0 sum, Largest with Equal 0s and 1s,
Largest with sum divisible by k, Longest with Sum K, Count with Sum Divisible By K, Count having
Sum K, Count with given XOR

Backtracking

Theory : Backtracking

Medium : Permutations, Rat in a Maze, Word Search

Hard : N Queen Problem, Sudoku Solver, Word Break, Knight's Tour, Palindromic Partitions, M-
Coloring

Linked-list

Theory : Linked-list, Singly, Doubly & Circular

Reversal Pattern: Reverse Singly, Reverse a Doubly, Reverse in Groups (K-group reversal), Reorder
List

Fast & Slow Pointer: Middle, Remove Nth from End, Check Palindrome, Detect Cycle, Length of Loop,
Intersection of Y Shaped

Sorting & Merging Pattern: Sort 0s, 1s, 2s, Add Two Numbers, Rotate, Merge K Sorted

Design : Browser History, Twitter, LRU Cache, LFU Cache

Hard: Flattening, Clone with Random Pointer

Stack

Theory : Stack

Operations : Reverse, Sort

Expression: Check for balanced, Evaluation of Postfix Expression, Infix Evaluation, Infix to Postfix,
Redundant Brackets, Longest Valid, Score of Balanced

Design: Stack using Queues, Two stacks in an array, K Stacks in an Array, Stack that supports getMin()

Monotonic Stack: Lowest by removing k digits, Next Greater Element, Stock Span Problem, Buildings
Facing Sun, Previous Smaller Element, Largest Rectangle in a Histogram, Max of 1s, Max of Mins of
every window size, Trapping Rain Water, Subarray Range Sum, Replace Adjacent Opposite, Longest
Subarray Length

String Simulation: Decode String, Check Redundant Brackets

Queue

Theory : Queue

Easy : Circular Queue, Queue using Stacks, FIFO Page Replacement, Reverse a Queue, Reverse First K

Medium : Interleave Queue, K Queues in an array, First non-repeating in a stream, Min Knight steps
for target

Deque

Theory : Deque

Easy : Circular Array Implementation

Medium : Lexicographically largest permutation, Nth term of given recurrence relation, Generate
Bitonic Sequence

Hard : Sliding Window Maximum, Longest Subarray with Difference ≤ X, Max Subarray Length with K
Increments, Min Deques to Sort Array

Binary Tree

Theory : Binary Tree, Inorder, Preorder, Postorder, Level Order

Easy : Size of Tree, Depth of Tree, Max Width, Balance Check, Identical Trees, Mirror Tree, Sum Tree,
Left View, Right View, Path Sum, Max Path Sum, Serialize and Deserialize,

Iterative Traversals : Inorder, Preorder, Postorder, Morris Inorder

Medium : Longest Sum, Diameter, Boundary Traversal, Tree from Preorder and Inorder, Leaf at Same
Level, Connect at Same Level, Nodes without siblings, Invert Tree, Flatten Tree, Max Diff Node &
Ancestor

Horizontal Distance Based: Vertical Traversal, Bottom View, Top View, Diagonal Traversal

Hard : Spiral Level Order, LCA, Distance K, Distributed Candies, Subtree

Binary Search Tree

Theory : Binary Search Tree

Operations: Search, Insert, Delete, Ceil, Floor, Predecessor and Successor

Traversal: Kth Smallest Element, 2 Sum in BST

Construction: Sorted Array to BST, Merge two BSTs

Property: Validate BST, LCA, Recover BST, Largest BST Subtree

Heap

Theory : Heap
Easy : Check for Heap, Heap Sort, kth Largest, K Largests, Height of a Heap

Medium : Connect n ropes, Nearly Sorted, BST to Min Heap, K Max sum combinations

Hard : Median in a stream, K’th largest in a stream, Merge k sorted, Range Covering K Sorted Lists,
The Skyline Problem, Sort by Frequency

Graph

Theory : Graph Representation

BFS/DFS Traversal: BFS, DFSl, Flood Fill, Islands, Connected Components in an Undirected Graph,
Cycle in an Undirected graph, Cycle in a Directed, Bipartite, Rotten Oranges, Remove Invalid
Parentheses

Topological Sorting: Topological Sorting, Course Schedule I, Course Schedule II, Alien Dictionary

Shortest Path: Dijkstra, Floyd Warshall, Bellman–Ford, Minimizing Infection Time in a Directed
Graph, Shortest path with one curved edge in an undirected Graph, Minimum Cost Path, Shortest
cycle in an undirected graph

Multi-Source BFS: Distance of nearest 1, Unlock the Lock, Word Ladder

MST/DSU: Prim, Disjoint Set, Kruskal, Detect Cycle using DSU, Total Spanning Trees, Job Sequencing,
Number of connected components

Greedy

Theory : Greedy

Easy : Fractional Knapsack, Assign Cookies, Min and Max Costs to buy all, Smallest Subset Greater
Sum, Min Notes with Given Sum

Medium : Activity Selection, Huffman Coding, Jump Game, Job Sequencing, Non-Overlapping
Intervals, Gas Station

Hard : Stable Marriage, Minimize the Max Height Diff, No two adjacent are same, Minimize cash
flow, Min time to finish all jobs with given constraints, Min Cost to cut into squares

Dynamic Programming

Theory : Dynamic Programming

1-D DP: Climbing Stairs, Count without consecutive 1s, Weighted Climbing Stairs, Frog Jump, House
Robber, Max Segments, Coin Change, Possible Decodings, Word Break, Derangements

2-D DP: Unique Paths, Minimum cost Path, Longest Common Subsequence, Edit Distance, Distinct
Subsequences, Largest Square Submatrix with All 1s

SubSequence: Partition Subset, Subset Sum, Subset Count With Sum, Target Sum, 0/1 Knapsack,
Coin Change II, Rod Cutting

Grid: Unique Paths in a Grid, Maximum path sum in matrix, Longest Increasing Path

String: Longest Common Substring, Shortest Common Supersequence, Interleaving String, Wildcard
Matching, Longest Palindromic Substring
Stock: Buy and Sell with Cooldown, Buy and Sell – Max 2 Transactions Allowed, Buy and Sell - k
Transactions, Buy and Sell with Transaction Fee

LIS: Longest Increasing Subsequence, Number of LISs, Longest Bitonic, Largest Divisible, Longest
String Chain, Maximum envelopes

Partition: Matrix Chain Multiplication, Minimum Cost to Cut a Stick, Palindrome Partitioning,
Boolean Parenthesization, Partition Array for Maximum Sum, Egg Dropping, Optimal Strategy

Number Theory

Easy : nCr, Euler's Totient

Medium : Sieve of Eratosthenes, Pascal's Triangle, Modular Exponentiation

Hard : Segmented Sieve

Trie

Implementation: Implement Trie, Longest Word With All Prefixes, Count of distinct substrings

Bit Manipulation Trie: Duplicates in Binary Matrix, Max XOR of Two, Maximum XOR Queries, Pairs
with XOR less than K

Advanced Trie Application: Search Suggestions System, Palindrome Pairs

String Matching

Theory : Substring

Standard Problems : Rabin-Karp, KMP, Z algorithm, Longest Prefix Suffix, Manacher's Algorithm,
Subarray Search

Hard : Longest Palindromic Substring, Palindrome Substring Queries, Min Repeats for Substring

Range Query

Basic Segment Tree Queries: Segment Tree, Min-Max Range Queries, Range LCM Queries, XOR of a
given range

Segment Tree with Updates: Lazy Propagation, Flipping Sign

Segment Tree Applications: Build a segment tree for N-ary rooted tree, Maximum of all subarrays of
size K using Segment Tree

Fenwick Tree: Fenwick Tree, Sum and Update Queries on 3D Matrix

Vous aimerez peut-être aussi