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

DSA Course Outline

Dsa handson
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)
53 views5 pages

DSA Course Outline

Dsa handson
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

Month 1: Fundamentals, Arrays, and Recursion

Week 1: Introduction to DSA and Complexity Analysis

Day 1-2: What is DSA?

Overview of Data Structures and Algorithms.

Applications and importance in real-world scenarios.

Day 3-4: Time and Space Complexity

Big-O Notation, Omega, Theta.

Best, Average, Worst Case complexities.

Day 5-7: Recursion

Concept of recursion and how it works.

Base case and recursive case.

Problems: Factorial, Fibonacci, Sum of digits.

Week 2: Arrays

Day 8-9: Introduction to Arrays

Definition, Declaration, and Memory allocation.

Basic operations: Insertion, Deletion, Traversal.

Day 10-12: Array Problems

Practice problems like finding Maximum, Minimum, Reverse an array.

Day 13-14: 2D Arrays

Operations on 2D arrays.

Practice: Matrix Transpose, Matrix Multiplication.


Week 3: Strings

Day 15-17: Introduction to Strings

String manipulation, common functions.

String comparison, concatenation, and substring.

Day 18-20: String Problems

Practice problems: Palindrome, Reverse a String, Anagram detection.

Week 4: Recursion Deep Dive

Day 21-24: Advanced Recursion

Backtracking.

Common problems: N-Queens, Rat in a Maze, Permutations.

Day 25-28: Divide and Conquer Approach

Concept of divide and conquer.

Recursive algorithms: Merge Sort, Quick Sort.

Month 2: Searching, Sorting, Linked Lists

Week 5: Searching Algorithms

Day 29-31: Linear Search

Linear Search and its complexity.

Day 32-34: Binary Search

Introduction to Binary Search and time complexity.

Problems: Finding the first and last occurrence of an element, Searching in a rotated sorted
array.

Week 6: Sorting Algorithms


Day 35-38: Basic Sorting

Bubble Sort, Selection Sort, Insertion Sort.

Practice sorting problems.

Day 39-41: Advanced Sorting

Merge Sort and Quick Sort.

Problems: Sorting linked lists, Merge k sorted arrays.

Week 7: Linked Lists

Day 42-45: Singly Linked Lists

Basics: Insertion, Deletion, Traversal.

Problems: Reverse a Linked List, Detect and remove cycles.

Day 46-49: Doubly and Circular Linked Lists

Doubly Linked List: Insertion, Deletion.

Circular Linked List: Basic operations.

Week 8: Linked List Problems

Day 50-52: Practice Problems

Merge two sorted lists, Add two numbers using linked lists, Flattening a linked list.

Month 3: Stacks, Queues, Trees, Graphs, Advanced Topics

Week 9: Stacks and Queues

Day 53-55: Stacks

Stack operations (Push, Pop, Peek).

Stack implementation using arrays and linked lists.


Day 56-58: Stack Problems

Balanced Parentheses, Next Greater Element, Infix to Postfix conversion.

Day 59-60: Queues

Queue operations (Enqueue, Dequeue).

Implementing queues using stacks.

Week 10: Trees

Day 61-64: Introduction to Trees

Tree Terminologies: Root, Node, Leaf.

Binary Trees: Inorder, Preorder, Postorder traversals.

Day 65-67: Binary Search Trees (BST)

Concept of BST and properties.

Insertion, Deletion, and Searching in BST.

Day 68-70: Tree Problems

Height of a tree, Diameter of a tree, Lowest Common Ancestor (LCA).

Week 11: Graphs

Day 71-73: Introduction to Graphs

Graph Terminologies, Representation (Adjacency Matrix/List).

Graph Traversal: BFS and DFS.

Day 74-76: Graph Problems

Detecting a cycle in a graph, Shortest path problems (Dijkstra, Bellman-Ford).


Week 12: Dynamic Programming and Greedy Algorithms

Day 77-80: Dynamic Programming

Introduction to Dynamic Programming (DP).

Memoization vs Tabulation.

Problems: Fibonacci, Longest Common Subsequence, Knapsack problem.

Day 81-83: Greedy Algorithms

Greedy Algorithm concept.

Problems: Activity Selection, Huffman Coding, Minimum Spanning Tree (Prim's and
Kruskal's).

Week 13: Advanced Concepts

Day 84-87: Hashing

Introduction to Hash Tables.

Hashing problems: Two Sum, Frequency count in an array.

Day 88-90: Revision and Practice

Solve mixed problems from all topics.

Focus on mock interviews or timed practice to simulate exam or interview environments.

You might also like