[go: up one dir, main page]

0% found this document useful (0 votes)
49 views5 pages

DSA Sallybus

This document provides a detailed course syllabus for a classroom program on data structures and algorithms. It outlines the topics, subtopics, and practice problems that will be covered over 6 weeks. Each week covers different core topics like analysis of algorithms, arrays, recursion, searching, sorting, matrices, hashing, strings, linked lists, stacks, queues, trees, and binary search trees.

Uploaded by

ankur983536
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)
49 views5 pages

DSA Sallybus

This document provides a detailed course syllabus for a classroom program on data structures and algorithms. It outlines the topics, subtopics, and practice problems that will be covered over 6 weeks. Each week covers different core topics like analysis of algorithms, arrays, recursion, searching, sorting, matrices, hashing, strings, linked lists, stacks, queues, trees, and binary search trees.

Uploaded by

ankur983536
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/ 5

CLASSROOM

PROGRAM

Detailed
Course Syllabus
CONTENTS

Week Day Topics Sub Topics Practice Problems

Analysis of Algorithm Asymptotic analysis GCD and LCM


Mathematics Time and Space Complexity Iterative Power
Bit Manipulation Master Theorem Genarate Power Set
Bitwise Operators Factorial
1 yaD

(Bitwise AND, Bitwise OR, Computing Power


Bitwise XOR, Left Shift,
Right Shift, etc ) Prime factorization
Prime Numbers
(Sieve Algorithms)
1 keeW

ARRAYS Arrays - Introduction & Largest Element


Advantages in an Array
Types of Arrays Leaders in an
Operations of Arrays - Array problem
2 yaD

Searching, Insertion, Reverse an Array


Deletion, Maximum subarray
Sliding Window Technique sum

RECURSION Introduction to Recursion Print 1 to N Using


Writing Base Cases in Recursion
BACKTRACKING
Recursion Rope Cutting Problem
Tail Recursion Sum of Digits Using
1 yaD

Introduction to Recursion
Backtracking Generate Subsets
Rat in a Maze Problem Tower of Hanoi
Subset Sum Problems
Josephus Problem
2 keeW

SEARCHING Linear Search Index of first Occur-


Binary Search - Iterative & rence in Sorted
Recursive Approach Count 1s in a Sorted
2 yaD

Analysis of Binary Search Binary Array


Two Pointer Approach Square root of
a number
Search in an Infinite
sized array
Triplet in a Sorted Array
CONTENTS

Week Day Topics Sub Topics Practice Problems

SORTING Overview of sorting algorithm Minimum Difference in


Sorting Algorithms like an Array
Insetion, Bubble, Selection, Chocolate Distribution
Merge and Quick Sort Problem
1 yaD

Stability of Sorting Algorithms Union of two Sorted


Arrays
Kth Smallest Element
Sort an Array with
two/three types of
element
3 keeW

MATRIX Multidimensional Array Transpose of a Matrix


HASHING Passing 2D arrays as argument Matrix in Snake Pattern
Hashing Introduction and Count Distinct Elements
Application, Time Complexity
2 yaD

Frequencies of Array
Analysis Elements
Collision Handling Spiral Traversal of Matrix
Hashing Function Subarray with given Sum
Count Distinct Elements
in Every Window

STRINGS Introduction to Strings Palindrome Check


Overview of Pattern Searching Reverse words in a string
Algortihm Check if a String is
Naive and Improved Naive Subsequence of Other
1 yaD

Pattern Searching Check for Anagram


Rabin Karp Algorithm Check if Strings are
KMP Algorithm (Constructing Rotations
LPS Array and Complete Anagram Search
Algorithms)
Lexicographic Rank of a
4 keeW

String

LINKED LIST Introduction to Linked List Middle of Linked List


Traversing a Linked List Deleting a node without
accessing head pointer
2 yaD

Insertion of Node in Singly


Linked List of Linked List
Reverse a Linked List Nth Node from end of
Linked List
Deletion of Node in Linked List
Segregating Even and
Doubly Linked List & Circular Odd Nodes of LL
Linked List
Detect Loop using Floyd
Cycle Detection
CONTENTS

Week Day Topics Sub Topics Practice Problems

STACK Stack - Introduction and Balanced Parenthesis


Applications Next Greater Element
Stack Operations Implement two Stacks
(e.g. push, pop, etc) in an Array
1 yaD

Array Implementation of Stack Previous Greater Element


Linked List Implementation
of Stack
5 keeW

QUEUE Queue- Introduction and Generate numbers with


Application given digits
DEQUE
Implementation of Queue First Circular Tour
using Array
2 yaD

Maximums of all
Implementation of Queue subarrays of size k
using Linked List
Reversing a Queue
Deque - Introduction and
Application

TREE Tree - Introduction and Height of Binary Tree


Application Diameter of a Binary
Binary Tree Tree
Tree Traversal - Inorder, Check for Balanced
1 yaD

Preorder and Postorder with Binary Tree


Implementation
Maximum in a Binary
Level Order Traversal Tree
LCA of a Binary Tree
Serialize and Deserialize a
6 keeW

Binary Tree

BINARY SEARCH BST - Introduction and Find Kth Smallest in BST


TREE Application Vertical Sum in Binary
Search in BST with Tree
2 yaD

Implementation Floor in BST


Insert in BST with Check for BST
Implementation
Top View of Binary Tree
Deletion in BST with
Implementation
Self Balancing BST - AVL Tree,
Red Black Tree
CONTENTS

Week Day Topics Sub Topics Practice Problems

GREEDY Introduction to Greedy Activity Selection


Algorithm Problem
HEAP
Binary Heap - Introduction Job Sequencing Problem
Binary Heap - Insertion, Sort K Sorted Arrays
1 yaD

Heapify and Extract Fractional Knapsack


Binary Heap - Decrease, Delete Problem
and Build Heap K Largest Element
Heap Sort Median of a Stream
Priority Queue
7 keeW

GRAPH Introduction to Graph Bridges in Graph


Graph Representation Detect Cycle in a
(Adjacency List and Matrix) Directed Graph
Adjacency Matrix and List Articulation Point
2 yaD

Comparison
Breadth First Search - Intro-
duction and Implementation
Depth First Search - Intro-
duction and Implementation
Prims Algorithm - Introduction
and Implementation
Dijkstra Algorithm - Intro-
duction and Implementation

Graph - Advanced Kruskal's Algorithm Strongly Connected


Components
1 yaD

Bellman-Ford Algorithm Find the no. of islands


8 keeW

Ford-Fulkerson Algorithm

Dynamic Introduction to Dynamic Coin Change Problem


Programming Programming Longest Common
DP vs Greedy Approach Subsequence
2 yaD

How to approach a DP Problem Subset Sum Problem


Memoization and Tabulation Longest Increasing
methods Subsequence
0-1 Knapsack Problem
Matrix Chain
Multiplication

You might also like