Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

YouTube

Coding Interview Questions - Data Structures and Algorithms

Back To Back SWE via YouTube

Overview

Coursera Flash Sale
40% Off Coursera Plus for 3 Months!
Grab it
Master essential coding interview concepts through this comprehensive 11-hour 59-minute course covering data structures and algorithms. Explore fundamental problems including string manipulation with palindrome partitioning and KMP pattern matching, stack applications like balanced parentheses and reverse Polish notation, and dynamic programming solutions for edit distance, longest increasing subsequence, and the 0/1 knapsack problem. Learn backtracking techniques through N Queens, Sudoku solving, and permutation generation, while mastering tree algorithms including binary tree traversals, symmetric tree validation, and distance calculations. Dive into advanced topics such as implementing LRU cache, binary heaps, and queue using stacks, alongside graph search algorithms like depth-first search for maze solving. Study optimization problems including the change making problem, maximum sum rectangle using Kadane's algorithm, and egg dropping scenarios. Understand sorting algorithms through heap sort analysis, explore bit manipulation for addition without operators, and learn asymptotic analysis with Big O, Omega, and Theta notations. Practice with real interview questions from major tech companies while building proficiency in recursion, two-pointer techniques, and hash table applications for problems like minimum window substring and character frequency tracking.

Syllabus

Generate All Palindromic Decompositions Of A String ("Palindrome Partitioning" on Leetcode)
Knuth–Morris–Pratt (KMP) Pattern Matching Substring Search - First Occurrence Of Substring
The Balanced Parentheses Problem - Classic Stack Problem ("Valid Parentheses" on Leetcode)
The Dutch National Flag Problem (The Quicksort "Band-Aid")
How To Permute A String - Generate All Permutations Of A String
Count Total Unique Binary Search Trees - The nth Catalan Number (Dynamic Programming)
Implement A Sudoku Solver - Sudoku Solving Backtracking Algorithm ("Sudoku Solver" on LeetCode)
The IP Address Decomposition Problem - Compute All Valid IP Addresses From Raw IP String
Edit Distance Between 2 Strings - The Levenshtein Distance ("Edit Distance" on LeetCode)
How To Reverse A Singly Linked List | The Ultimate Explanation (Iteratively & Recursively)
Total Occurrences Of K In A Sorted Array (Facebook Software Engineering Interview Question)
Implement An LRU Cache - The LRU Cache Eviction Policy ("LRU Cache" on LeetCode)
Search A Maze For Any Path - Depth First Search Fundamentals (Similar To "The Maze" on Leetcode)
Test If A Binary Tree Is Symmetric ("Symmetric Tree" on Leetcode)
Total Ways To Decode A String - Recursive Dynamic Programming Approach ("Decode Ways" on LeetCode)
Compute All Mnemonics For A Phone Number (Recursion/Backtracking Problem)
Find The Longest Increasing Subsequence - Dynamic Programming Fundamentals
The Change Making Problem - Fewest Coins To Make Change Dynamic Programming
Implement A Max Stack - A Stack With A .max() API (Similar To "Min Stack" on LeetCode)
Merge K Sorted Arrays - Min Heap Algorithm ("Merge K Sorted Lists" on LeetCode)
Partition To K Equal Sum Subsets From An Array of Integers - The Backtracking Approach
Compute The Next Permutation of A Numeric Sequence - Case Analysis ("Next Permutation" on Leetcode)
The N Queens Problem using Backtracking/Recursion - Explained
The 0/1 Knapsack Problem (Demystifying Dynamic Programming)
Maximum Sum Rectangle In A 2D Matrix - Kadane's Algorithm Applications (Dynamic Programming)
Fast Multiplication: From Grade-School Multiplication To Karatsuba's Algorithm
Asymptotic Notations 101: Big O, Big Omega, & Theta (Asymptotic Analysis Bootcamp)
Max Contiguous Subarray Sum - Cubic Time To Kadane's Algorithm ("Maximum Subarray" on LeetCode)
Longest Common Subsequence (2 Strings) - Dynamic Programming & Competing Subproblems
Search A 2D Sorted Matrix - Fundamentals of Search Space Reduction
Implement A Queue Using Stacks - The Queue ADT ("Implement Queue Using Stacks" on LeetCode)
The Backtracking Blueprint: The Legendary 3 Keys To Backtracking Algorithms
Minimum Window Substring: Utilizing Two Pointers & Tracking Character Mappings With A Hashtable
Implement A Binary Heap - An Efficient Implementation of The Priority Queue ADT (Abstract Data Type)
Binary Tree Level Order Traversal - Drawing The Parallel Between Trees & Graphs
Egg Dropping Problem: Dynamic Programming Fundamentals & Understanding Subproblem Decomposition
Investigating Heap Sort - Why Is Heap Sort Θ(n * log(n))? An Even Longer Really Long Answer.
All Nodes Distance K In A Binary Tree - Performing Bidirectional Search On A Tree Using A Hashtable
Reverse Polish Notation: Types of Mathematical Notations & Using A Stack To Solve RPN Expressions
Add Two Numbers Without The "+" Sign (Bit Shifting Basics)

Taught by

Back To Back SWE

Reviews

Start your review of Coding Interview Questions - Data Structures and Algorithms

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.