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

DataStructureandAlgorithmsupdatedsyllabus Compressed 20241029150923

The document outlines a comprehensive curriculum covering various data structures and algorithms, organized into 16 sessions. Topics include algorithm analysis, arrays, linked lists, stacks, queues, searching techniques, recursion, sorting, trees, binary search trees, greedy algorithms, dynamic programming, and graph theory. Each session includes key concepts, operations, and problem-solving exercises relevant to the topic.

Uploaded by

Pika Show
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views

DataStructureandAlgorithmsupdatedsyllabus Compressed 20241029150923

The document outlines a comprehensive curriculum covering various data structures and algorithms, organized into 16 sessions. Topics include algorithm analysis, arrays, linked lists, stacks, queues, searching techniques, recursion, sorting, trees, binary search trees, greedy algorithms, dynamic programming, and graph theory. Each session includes key concepts, operations, and problem-solving exercises relevant to the topic.

Uploaded by

Pika Show
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

CONTENTS

Session 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

Session 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

Session 3: 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


CONTENTS
Session 4: 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

Session 5: 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 Given Digits, First Circular Tour, etc

Session 6: 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


CONTENTS
Session 7: 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

Session 8: 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

Session 9: 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


CONTENTS
Session 10: 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

Session 11: 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

Session 12: 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
CONTENTS
Session 13: 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

Session 14: 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

Session 15: Graph

● Introduction to Graph

● Graph Representation(Adjacency List and Matrix)

● 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


CONTENTS
Session 16: Graph (Advanced)

● Kruskal's Algorithm

● Bellman-Ford Algorithm

● Ford-Fulkerson Algorithm

● Problems: Strongly Connected Components, Find the No. of Islands, etc

You might also like