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
- Unit 1: Linked List Operations
- Determine if a Singly Linked List is a Palindrome
- Swap Nodes in a Linked List
- Remove Duplicates from Unsorted Linked List
- Rotate Right Linked List
- Cycle Detection in a Linked List
- Unit 2: Binary Tree Traversals
- Binary Tree Postorder Traversal
- Preorder Traversal of a Binary Tree
- Second Smallest Value in Binary Tree
- Reverse a Binary Tree
- Validate if a Binary Tree is a Binary Search Tree
- Unit 3: Dynamic Programming Basics
- Factorial Calculation Using Dynamic Programming
- Climbing Stairs Distinct Ways Calculation
- Minimum Steps to Reach a Number
- Coin Change Problem with Dynamic Programming
- Minimal Perfect Squares Sum Calculation
- Unit 4: Mastering Graph Algorithms
- Shortest Path Calculation Using Breadth-First Search
- Find Vertices Within Distance in an Undirected Graph
- Shortest Path with Obstacles Using BFS
- Shortest Path in a Binary Matrix
- Knight's Minimum Moves on a Chessboard
- Unit 5: Advanced Recursion Techniques
- Generate All Distinct Permutations of an Array
- All Combinations of String Characters Using Recursion
- Generate Parentheses Combinations
- Letter Case Combinations
- Generating Word Combinations