Description
In this course, you will learn :
- How to write bug-free binary search engines.
- Understand how recursion and depth-first search work.
- How to use backtracking to solve any combinatorial problem.
- How breadth-first search works and how to use it to solve tree and graph problems.
- Understand the two-pointer technique and how to apply it to various scenarios.
- How heaps and priority queues work and how they can be used to solve interview problems.
- Understand and practise the most frequently asked interview questions, such as interval problems and LRU cache.
- Using our templates, you will learn how to implement algorithms quickly and without errors.
Syllabus :
1. Binary Search
- Binary Search Basics
- Finding the Boundary
- First Element Not Smaller Than Target
- First Occurrence
- Square Root
- Find Minimum in Rotated Sorted Array
- The Peak of a Mountain Array
2. Depth-first Search
- Recursion
- DFS Fundamentals
- DFS on a Tree: Introduction
- The Max Depth of Binary Tree
- Visible Tree Node
- Valid Binary Search Tree
- Serializing and Deserializing Binary Tree
- Lowest Common Ancestor
3. Backtracking
- Combinatorial Search: DFS with States
- Backtracking Fundamentals
- Permutations
- Phone Number Letter Permutations
- Memoization
- Word Break
- Decode String
4. Breadth-first Search on Trees
- BFS Fundamentals
- Binary Tree Level Order Traversal
- Binary Tree ZigZag Level Order Traversal
- Binary Tree Right Side View
- Binary Tree Min Depth
- Binary Tree Distance K from Target Node
5. Depth-first Search and Breadth-first Search on Graphs
- Graph Fundamentals
- BFS on Graphs
- DFS on Graphs
- BFS or DFS
- Matrix as Graph
- Shortest Path [BFS]
- Word Ladder
- Flood Fill
- Number of Islands
- Knight Minimum Moves
- Course Schedule
6. Two Pointers
- Remove Duplicates [Same Direction]
- Middle of Linked List
- Move Zeros [Same Direction]
- Two Sum Sorted [Opposite Direction]
- Valid Palindrome [Opposite Direction]
- Trapping Rain Water [Opposite Direction]
- Longest Substring without Repeating Characters [Sliding Window]
- Subarray Sum [Prefix Sum]
- Subarray Sum Divisible by K [Prefix Sum]
7. Priority Queue/Heap
- Priority Queue and Heap
- Implementing Heap
- K Closest Points
- Merge K Sorted Lists
- Median of Data Stream [Advanced]
8. Other
- Sliding Window Maximum
- Interval Problems
- Merge Intervals
- Insert Interval
- Meeting Room
- LRU Cache