Learn DSA - Comprehensive Course
Enroll in Class
Beginner Level: Foundations of DSA
1. Introduction to Algorithms and Complexity
What is an algorithm?
Time and space complexity
Big O notation (O(1), O(n), O(log n), O(n²))
Best, worst, and average case complexity
Analyzing complexity with examples
2. Basic Data Structures
Arrays: declaration, traversal, insertion, deletion
Strings: manipulation and operations
Linked Lists: Singly, Doubly, Circular
Stacks: Implementation & Applications
Queues: Simple, Circular, Priority Queues
Pointers & Memory Recap (C/C++)
3. Basic Sorting and Searching
Linear and Binary Search
Bubble, Selection, and Insertion Sort
Sorting stability and in-place sorting
Intermediate Level: Core Data Structures & Algorithms
4. Advanced Data Structures
Trees: Binary Trees, BST, Traversals
Heaps: Min-heap, Max-heap, Heap Sort
Hashing and Collision Resolution
Graphs: Terminology, Matrix/List
5. Advanced Sorting and Searching
Merge Sort, Quick Sort
Counting Sort, Radix Sort
6. Graph Algorithms
DFS, BFS, Cycle Detection
Shortest Paths: Dijkstra, Bellman-Ford
MST: Kruskal, Prim
7. Recursion and Backtracking
Understanding Recursion & Tree
Backtracking Concepts
N-Queens, Sudoku, Subsets, Permutations
Advanced Level: Complex Data Structures & Algorithms
8. Dynamic Programming
Memoization vs Tabulation
Fibonacci, Knapsack, LCS, Coin Change, Edit Distance
9. Advanced Data Structures
Tries, Segment Trees, BIT
Disjoint Set Union (DSU)
AVL, Red-Black Trees (Concepts)
10. Greedy Algorithms
Greedy Choice, Optimal Substructure
Activity Selection, Huffman Coding, Job Scheduling
11. String Algorithms
Pattern Matching: Naive, KMP, Rabin-Karp
Trie-based Problems
Suffix Arrays/Trees (Conceptual)
Professional Level: Problem Solving & Optimization
12. Bit Manipulation
Bitwise Operators and Tricks
Applications: Unique Elements, Subsets
13. Mathematical Algorithms
GCD, LCM, Primes, Sieve
Modular Arithmetic & Exponentiation
Combinatorics & Probability Basics
14. Advanced Graph Algorithms
Topological Sort
SCC: Kosaraju, Tarjan
Network Flow: Ford-Fulkerson
15. Problem Solving Paradigms
Divide & Conquer, Randomized, Approximation
16. Competitive Programming Tips
Fast I/O, Online Judges, Strategy
Optional / Supplementary Topics
Concurrency and Parallel Algorithms
Basics of Parallelism
Concurrent Data Structures
Advanced Topics
Persistent Data Structures
Suffix Automaton
Heavy-Light Decomposition