In this course, you'll delve deeply into algorithms and data structures, which are key topics in technical interviews. You'll tackle problems involving linked lists, binary trees, dynamic programming, and graph algorithms. Understanding these advanced topics will equip you with the tools needed to solve complex problems efficiently.
Overview
Syllabus
- Lesson 1: Linked List Operations in C++
- Palindrome Linked List
- Swap Nodes in a Singly Linked List
- Remove Duplicates from Unsorted Linked List
- Rotate Linked List to the Right
- Detect Cycle in a Linked List
- Lesson 2: Binary Tree Traversals in C++
- Postorder Traversal of Binary Tree
- Preorder Traversal of a Binary Tree
- Finding the Second Minimum Value in a Binary Tree
- Reverse a Binary Tree
- Check if a Binary Tree is a Binary Search Tree
- Lesson 3: Dynamic Programming Basics
- Efficient Fibonacci
- Counting Distinct Ways to Climb Stairs
- Minimum Steps to Transform Number
- Coin Change Problem
- Minimal Number of Perfect Squares
- Lesson 4: Graph Algorithms Implementation Using C++
- Shortest Path in a City Network
- Finding Vertices Within Distance in an Undirected Graph
- Shortest Route in a Game with Obstacles Using BFS
- Shortest Path in a Binary Matrix
- Knight Moves on a Chessboard
- Lesson 5: Advanced Recursion Techniques in C++
- Generating All Distinct Permutations of an Array Using Recursion and Backtracking
- Generating All Combinations of a String in C++
- Generate All Valid Parentheses Combinations
- Letter Case Combinations
- Character Combinations from Multiple Strings in Word Game