Divide and Conquer Algorithms-Course Overview
Earn Academic Credit for your Work!
Course Support
Reading: Important Prerequisites
Logistics: Textbook and Readings
Important Specialization Information
Divide and Conquer Algorithms-Overview of Module 1
Overview of Module 1
Divide and Conquer Algorithms-What Are Divide and Conquer Algorithms?
What Are Divide and Conquer Algorithms?
()
CLRS Chapter 4
Divide and Conquer Algorithms-Max Subarray Problem Using Divide and Conquer
Max Subarray Problem Using Divide and Conquer
()
CLRS Chapter 4.1
Divide and Conquer Algorithms-Karatsuba’s Multiplication Algorithm
Karatsuba’s Multiplication Algorithm
()
Jupyter Notebook on Karatsuba's Algorithm
Divide and Conquer Algorithms-Master Method Revisited
Master Method Revisited
()
CLRS Chapters 4.3 - 4.5
Divide and Conquer Algorithms-Fast Fourier Transform Algorithm
FFT Part 1: Introduction and Complex Numbers
()
Basics of Complex Numbers
FFT Part 2: Definition and Interpretation of Discrete Fourier Transforms
()
Fourier Transforms
FFT Part 3: Divide and Conquer Algorithm for FFT
()
Application # 1 : Fast Polynomial Multiplication using FFT
()
Application # 2: Data Analysis using FFT
()
Fast Fourier Transform
Dynamic Programming Algorithms-Overview of Module 2
Overview of Module 2
Dynamic Programming Algorithms-Introduction to Dynamic Programming + Rod Cutting Problem
Introduction to Dynamic Programming + Rod Cutting Problem
()
Rod Cutting Problem
Dynamic Programming Algorithms-Rod Cutting Problem: Memoization
Rod Cutting Problem: Memoization
()
Memoization
Dynamic Programming Algorithms-Coin Changing Problem
Coin Changing Problem
()
Coin Changing Problem
Dynamic Programming Algorithms-Knapsack Problem
Knapsack Problem
()
Jupyter Notebook
Dynamic Programming Algorithms-When Optimal Substructure Fails
When Optimal Substructure Fails
()
Dynamic Programming Algorithms-Dynamic Programming: Longest Common Subsequence
Dynamic Programming: Longest Common Subsequence
()
CLRS Chapter 15.4
Greedy Algorithms-Overview of Module 3
Overview of Module 3
Greedy Algorithms-Introduction to Greedy Algorithms
Introduction to Greedy Algorithms
()
CLRS Chapter 16
Greedy Algorithms-Greedy Interval Scheduling
Greedy Interval Scheduling
()
CLRS Chapters 16.1 and 16.2
Greedy Algorithms-Prefix Codes and Optimal Prefix Codes
Prefix Codes
()
Huffman Codes
()
Huffman Codes: Proof of Optimality
()
CLRS Chapter 16.3
Intractability and Supplement on Quantum Computing-Overview of Module 4
Overview of Module 4
Intractability and Supplement on Quantum Computing-Decision Problems and Languages
Decision Problems and Languages
()
CLRS Chapter 34
Intractability and Supplement on Quantum Computing-Polynomial Time Problems
Polynomial Time Problems
()
CLRS chapter 34.1
Intractability and Supplement on Quantum Computing-NP Definition and NP Completeness
NP Definition
()
NP Completeness and Reductions
()
CLRS Chapter 34.2 and 34.3
Intractability and Supplement on Quantum Computing-NP Complete Problems
NP Complete Problems: Examples
()
CLRS Chapter 34.5
Intractability and Supplement on Quantum Computing-Supplementary Lectures: Quantum Computing
Computation and Physics
()
Qubits and Operations
()
Bell's Inequality
()
Grover's Search Algorithm
()