- Importance of DSA in Front-End Development
- Big-O Notation (Time & Space Complexity)
- Understanding Big-O Notation
- Common Time Complexities (O(1), O(n), O(log n), O(n²), etc.)
- Analyzing Time & Space Complexity of Algorithms
- Practice Problems: 10 problems to analyze time complexity
- Basics of Arrays
- Common Array Operations
- Insertion
- Deletion
- Traversal
- Two-Pointer Technique
- Sliding Window Technique
- Practice Problems: 15-20 problems focusing on arrays and their operations
- Basics of Strings
- Common String Operations
- Concatenation
- Substrings
- Reversal
- String Matching Algorithms (Naive, KMP)
- Anagram and Palindrome Problems
- Practice Problems: 15-20 problems focusing on strings
- Introduction to Linked Lists (Singly, Doubly)
- Operations on Linked Lists
- Insertion
- Deletion
- Reversal
- Detecting Cycles in Linked Lists
- Practice Problems: 15-20 problems on linked lists
- Introduction to Stacks and Queues
- Stack Operations
- Push
- Pop
- Peek
- Queue Operations
- Enqueue
- Dequeue
- Peek
- Implementation of Stacks and Queues using Arrays/Linked Lists
- Applications of Stacks and Queues
- Practice Problems: 15-20 problems on stacks and queues
- Understanding Recursion
- Base Case and Recursive Case
- Recursion vs Iteration
- Backtracking
- Practice Problems: 15-20 problems on recursion and backtracking
- Introduction to Sorting
- Bubble Sort, Selection Sort, Insertion Sort
- Merge Sort, Quick Sort
- Time and Space Complexity Analysis of Sorting Algorithms
- Practice Problems: 10-15 problems on sorting algorithms
- Linear Search
- Binary Search
- Binary Search on Sorted Arrays
- Applications of Binary Search
- Practice Problems: 10-15 problems on searching algorithms
- Introduction to Trees (Binary Trees, Binary Search Trees)
- Tree Traversals (In-order, Pre-order, Post-order)
- Operations on Trees
- Insertion
- Deletion
- Searching
- Height and Depth of a Tree
- Practice Problems: 15-20 problems on trees
- Introduction to Graphs (Directed, Undirected)
- Graph Representation
- Adjacency Matrix
- Adjacency List
- Depth First Search (DFS)
- Breadth First Search (BFS)
- Shortest Path Algorithms (Dijkstra, Bellman-Ford)
- Practice Problems: 15-20 problems on graphs
- Introduction to Dynamic Programming
- Memoization vs Tabulation
- Common DP Problems (Knapsack, Coin Change, etc.)
- Practice Problems: 15-20 problems on dynamic programming
- Introduction to Greedy Algorithms
- Greedy Choice Property
- Common Greedy Problems (Activity Selection, Huffman Coding, etc.)
- Practice Problems: 10-15 problems on greedy algorithms
- Hashing
- Heaps and Priority Queues
- Tries
- Segment Trees
- Practice Problems: 20-25 mixed