DSA Level 2 – Advanced

← Back to Courses
DSA Level 2 – Advanced

Category: Programming

Duration: 10–12 Weeks

Master advanced data structures and algorithms for real-world applications and technical interviews.

Course Modules

Description:

Deep dive into advanced tree structures used in databases, compilers, and file systems. Learn self-balancing trees and multiway search trees like B and B+ trees.


Practice Problems:

  • Construct and balance an AVL tree
  • Implement B-Tree insertion
  • Compare B and B+ Tree search operations
  • Find kth smallest/largest in BST


Skills Learned:

  • BST operations & traversal optimization
  • AVL Tree rotations and balancing
  • M-way Tree fundamentals
  • B-Tree and B+ Tree insertion and deletion
  • Applications in indexing and storage


Mini Project:

Database Index Simulator – Build a simplified database index using B+ Tree for fast record lookups and inserts.

Description:

Master heap data structures and their applications in scheduling, priority systems, and graph algorithms.


Practice Problems:

  • Kth Largest/Smallest Element using Heap
  • Merge K Sorted Arrays
  • Implement Priority Queue
  • Convert array to Max Heap


Skills Learned:

  • Binary Heap (min/max) creation and operations
  • Heapify, Insert, Delete
  • Priority Queue implementation
  • Heap Sort algorithm


Mini Project:

Task Scheduler – Implement a task scheduler that assigns jobs based on priority using a min-heap.

Description:

Learn efficient data retrieval using hashing and explore collision-handling methods for real-world use cases.


Practice Problems:

  • Two Sum using HashMap
  • Count frequencies of elements
  • Find duplicates in an array
  • Longest Consecutive Subsequence


Skills Learned:

  • Hash functions and hashing techniques
  • Collision resolution (Chaining, Open Addressing)
  • HashMap & HashSet implementation concepts
  • Frequency counting and lookups


Mini Project:

Student Attendance Tracker – Use hashing to store and search student attendance data efficiently.



Description:

Understand graphs as a universal structure for networks and relationships. Learn different representations and traversals.


Practice Problems:

  • Graph Traversal (BFS, DFS)
  • Detect Cycle in Undirected Graph
  • Count Connected Components
  • Check Bipartite Graph


Skills Learned:

  • Graph representations (Adjacency List & Matrix)
  • BFS and DFS Traversals
  • Connected components
  • Cycle detection in graphs


Mini Project:

Friend Network Explorer – Model a social network and use DFS/BFS to find mutual connections or friend suggestions.

Description:

Understand the power of overlapping subproblems and optimal substructure. Learn how to solve recursive problems efficiently with DP..


Practice Problems:

  • Fibonacci (DP version)
  • 0/1 Knapsack Problem
  • Subset Sum
  • Minimum Coin Change


Skills Learned:

  • Recursion to DP conversion
  • Memoization and Tabulation
  • Classic 1D and 2D DP patterns
  • Subset and knapsack patterns


Mini Project:

Resource Allocator – Optimize resource usage based on constraints using knapsack-based dynamic programming.


Description:

Explore advanced DP problems like sequence alignment, matrix path, and string transformation, crucial for interviews.


Practice Problems:

  • Longest Common Subsequence
  • Edit Distance
  • Unique Paths in Grid
  • Palindrome Partitioning


Skills Learned:

  • Longest Increasing Subsequence (LIS)
  • Longest Common Subsequence (LCS)
  • Matrix Path and Grid-based DP
  • Edit Distance and Palindrome Partitioning


Mini Project:

Text Similarity Analyzer – Use DP (Edit Distance) to measure similarity between two text strings.

Description:

Learn when and how greedy algorithms provide optimal solutions. Explore famous problems that use local optimization principles.


Practice Problems:

  • Job Sequencing Problem
  • Minimum Platforms
  • Huffman Encoding Tree
  • Fractional Knapsack


Skills Learned:

  • Greedy strategy formulation
  • Activity selection and interval scheduling
  • Huffman Coding
  • Fractional Knapsack

Mini Project:

File Compression Simulator – Implement Huffman coding to compress text data efficiently.

Description:

Reinforce problem-solving through divide-and-conquer paradigms used in sorting, searching, and matrix operations.


Practice Problems:

  • Find Median of Two Sorted Arrays
  • Search in Rotated Sorted Array
  • Count Inversions
  • Closest Pair of Points


Skills Learned:

  • Master Theorem & Recurrence Relations
  • Merge Sort, Quick Sort revisited
  • Binary Search on Answer
  • Matrix Multiplication (Strassen’s Algorithm)


Mini Project:

Performance Analyzer – Compare divide-and-conquer algorithms (Merge, Quick, Strassen) for time complexity on different datasets.