Advanced DSA
Fee : ₹29,500 + GST ₹5310, Duration : 5 months, Contact : patkar@rajeshpatkar.com
Course Content
1. Advanced Data Structures
Segment Trees and Fenwick Trees
Range queries and updates
Lazy propagation
Applications in computational problems
Persistent Data Structures
Concepts and use cases
Persistent segment trees and other examples
Tries and Suffix Trees
Advanced operations
Suffix arrays: construction and applications in string matching
Self-Balancing Trees
Treaps and Splay Trees: concepts and use cases
Augmented Data Structures
Range minimum query (RMQ)
Interval trees and dynamic interval management
B-Trees and B+ Trees
Disk storage suitability
Database indexing
Heavy-Light Decomposition
Tree decomposition for path queries
Applications in advanced graph problems
Sparse Table
Efficient range queries (RMQ) in static arrays
Tree Isomorphism
efficient comparison of tree structures
2. Advanced Graph Algorithms
Network Flow Algorithms
Max flow (Ford-Fulkerson, Edmonds-Karp, Dinic’s)
Minimum-cost flow
Graph Matching
Bipartite matching (Hungarian Algorithm)
General graph matching (Blossom Algorithm)
Strongly Connected Components (SCC)
Tarjan’s Algorithm
Kosaraju’s Algorithm
Euler Tours and Articulation Points
Identifying articulation points and bridges
Applications in connectivity problems
Advanced Shortest Path Algorithms
Johnson’s Algorithm
All pairs shortest paths
Centroid Decomposition
Applications in divide-and-conquer problems on trees
3. Advanced Algorithmic Techniques
Dynamic Programming (DP) on Trees
Applications in rooted trees
Solving subtree problems
DP Optimization Techniques
Divide and Conquer DP
Convex Hull Trick
Knuth’s Optimization
Bitmask DP
State representation for combinatorial problems
Greedy Algorithms
Advanced greedy approaches
Matroid theory applications
Backtracking and Branch-and-Bound
Solving NP-hard problems
Mo's Algorithm
Efficient offline query processing
Game Theory
Nim Game and Grundy Numbers
Applications in combinatorial games
4. Computational Geometry
Convex Hull Algorithms
Graham’s Scan, Andrew’s Monotone Chain
Line Intersection and Sweep Line
Solving geometric problems efficiently
Closest Pair of Points
Divide-and-conquer approaches
Polygon Algorithms
Area calculation
Point-in-polygon tests
Voronoi Diagrams
Construction and applications
5. String Algorithms
Advanced Pattern Matching
Z-Algorithm
Boyer-Moore Algorithm
Aho-Corasick Algorithm
Suffix Automata
Construction and applications
Knuth-Morris-Pratt (KMP) Algorithm
Efficient pattern matching
2-SAT and Boolean Satisfiability Problems
Efficient algorithms for satisfiability
Applications in constraint satisfaction
6. Computational Complexity & NP Completeness
Complexity Classes
P, NP, and NP-hard problems
Polynomial reductions
Cook-Levin Theorem (overview)
Approximation Algorithms
Techniques for NP-hard problems
Examples: Traveling Salesman Problem (TSP), Vertex Cover
Probabilistic Algorithms
Monte Carlo and Las Vegas algorithms
Applications in randomized algorithms
7. Theory of Computation
Finite Automata
DFA and NFA equivalence
Regular languages and expressions
Pushdown Automata
Context-free grammars and parsing
Turing Machines
Concepts and significance
Undecidable problems
Lambda Calculus
Basics and functional programming applications
8. External Memory Algorithms & File Systems
I/O Model of Computation
Measuring I/O efficiency
External Sorting Algorithms
External Merge Sort
Multi-way Merge Sort
External Data Structures
External priority queues
External graph representations
RAID and SSDs
Characteristics and implications for algorithm design