Master Data Structures & Algorithms – Step-by-Step DSA Guide

Course Content
01 Week 1: Analysis of Algorithm, Mathematics, Bit Manipulation & Arrays
Class 1: Analysis of Algorithm, Mathematics & Bit Manipulation

Asymptotic Analysis
Time and Space Complexity
Masters Theorem
Bitwise Operators (Bitwise AND, Bitwise OR, Bitwise XOR, Left Shift, Right Shift, etc )
Problems: GCD and LCM, Iterative Power, Generate Power Set, etc

Class 2: Arrays

Arrays – Introduction and Advantages
Types of Arrays
Operations of Arrays – Searching, Insertion, and Deletion
Sliding Window Technique
Problems: Largest Element in an Array, Leaders in an Array Problem, Maximum Subarray Sum, etc

02 Week 2: Recursion, Backtracking & Searching
Class 1: Recursion and Backtracking

Introduction to Recursion
Writing Base Cases in Recursion
Tail Recursion
Introduction to Backtracking
Problems: Print 1 to N Using Recursion, Rope Cutting Problem, Rat in a Maze, etc

Class 2: Searching

Linear Search
Binary Search – Iterative and Recursive Approach
Analysis of Binary Search
Two Pointer Approach
Problems: Index of the first Occurrence in SortedArray, Count 1s in a Sorted Binary Array, Square root of a number, etc

03 Week 3: Sorting, Matrix & Hashing
Class 1: Sorting

Overview of the Sorting Algorithm
Sorting Algorithms e.g. Bubble Sort, Selection Sort, Insertion Sort, Merge Sort, Quick Sort with Analysis
Stability of Sorting Algorithms
Problems: Minimum Difference in an Array, Chocolate Distribution Problem, etc

Class 2: Matrix and Hashing

Multidimensional Array
Passing 2D Arrays as an argument
Hashing Introduction, applications, and analysis
Collision Handling
Hashing Function
Problems: Transpose of a Matrix, Matrix in Snake Pattern, Count Distinct Elements, Frequencies of Array Elements, etc

04 Week 4: Strings and Linked List
Class 1: Strings

String Introduction
Overview of Pattern Searching Algorithm
Naive and Improved Naive Pattern Searching
Rabin Karp Algorithm
KMP Algorithm (Constructing LPS Array and Complete Algorithms)
Problems: Palindrome Check, Reverse words in a string, Anagram Search, etc

Class 2: Linked List

Introduction to Linked List
Traversing a Linked List
Insertion and Deletion of Node in Linked List
Doubly Linked List and Circular Linked List
Problems: Middle of Linked List, Deleting a Node without accessing Head pointer of Linked List, etc

05 Week 5: Stack, Queue & Deque
Class 1: Stack

Stack – Introduction and Applications
Stack Operations (e.g. push, pop, etc)
Array Implementation of Stack
Linked List Implementation of Stack
Problems: Balanced Parenthesis, Next Greater Element, etc

Class 2: Queue and Deque

Queue – Introduction and Application
Implementation of Queue using Array
Implementation of Queue using Linked List
Deque – Introduction and Application
Problems: Generate Numbers with Gven Dgits, First Circular Tour, etc

06 Week 6: Tree and Binary Search Tree
Class 1: Tree

Tree – Introduction and Application
Introduction to Binary Tree
Tree Traversal – Inorder, Preorder, and Postorder with Implementation
Level Order Traversal
Lowest Common Ancestor of a Binary Tree
Serialize and Deserialize a Binary Tree
Problems: Height of a Binary Tree, Diameter of a Binary Tree, etc

Class 2: Binary Search Tree

BST – Introduction and Application
Search in BST with Implementation
Insert in BST with Implementation
Deletion in BST with Implementation
Self Balancing BST – AVL Tree, Red Black Tree
Problems: Find Kth Smallest in BST, Vertical Sum in Binary Tree, Floor in BST, etc

07 Week 7: Greedy, Heap and Graph
Class 1: Greedy and Heap

Introduction to Greedy Algorithm
Binary Heap – Introduction
Binary Heap – Insertion, Heapify, and Extract
Binary Heap – Decrease, Delete and Build Heap
Heap Sort
Priority Queue
Problems: Activity Selection Problem, Job Sequencing Problem, Sort K Sorted Arrays, etc

Class 2: Graph

Introduction to Graph
Graph Representation(Adjacency List and Matrix)
Adjacency Matrix and List Comparison
Breadth First Search – Introduction and Implementation
Depth First Search – Introduction and Implementation
Prims Algorithm – Introduction and Implementation
Dijkstra Algorithm – Introduction and Implementation
Problems: Bridges in Graph, Detect Cycle in a Directed Graph, etc

08 Week 8: Graph(Advanced) and Dynamic Programming
Class 1: Graph (Advanced)

Kruskal’s Algorithm
Bellman-Ford Algorithm
Ford-Fulkerson Algorithm
Problems: Strongly Connected Components, Find the No. of Islands, etc

Class 2: Dynamic Programming

Introduction to Dynamic Programming
Dynamic Programming Approach vs Greedy Approach
How to approach a DP Problem
Memoization and Tabulation methods
Problems: Coin Change Problem, Longest Common Subsequence, Subset Sum Problem, etc

Paid Course
8 week – Complete file Book Your Demo

Join Live Class
Book Free Demo


Turn confusion into clarity with direct mentoring from SamagraCS experts.

Join Our YouTube Communities

Connect, learn, and grow with like-minded learners- only on SamagraCS YouTube.

Join Our Whats App Channel


Small steps lead to big changes—receive daily knowledge bites on our WhatsApp Channel.

error: Content is protected !!
Open chat
1
Hi,how Can We Help You ?