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

YouTube

Design and Analysis of Algorithms Part 2 - Dynamic Programming and Backtracking

Sundeep Saradhi Kanthety via YouTube

Overview

Coursera Flash Sale
40% Off Coursera Plus for 3 Months!
Grab it
Explore advanced algorithmic techniques through this comprehensive 11-hour video course covering dynamic programming, backtracking, and branch-and-bound methods. Master dynamic programming by solving classic problems including the 0/1 Knapsack Problem, Traveling Salesman Problem for both directed and undirected graphs, Longest Common Subsequence, Multistage Graph Problems using forward and backward approaches, Optimal Binary Search Trees, and All Pair Shortest Path algorithms. Learn graph fundamentals including terminology, traversal methods like Depth First Search and Breadth First Search, then dive into backtracking techniques to solve the N-Queens Problem, Sum of Subset Problem, Hamiltonian Cycle Problem, and Graph Coloring Problem. Understand branch-and-bound methodology through practical applications to the Traveling Salesman Problem and 0/1 Knapsack Problem using both Least Cost and FIFO approaches. Compare different algorithmic paradigms including Divide & Conquer vs Dynamic Programming and Dynamic Programming vs Greedy Methods. Conclude with disjoint set operations covering Simple Union-Simple Find, Weighted Union, and Collapsing Find techniques. Each topic includes detailed explanations, step-by-step problem-solving approaches, and practical examples to reinforce theoretical concepts essential for computer science students, competitive programming, and technical interviews.

Syllabus

Introductiont to Dynamic Programming
0/1 Knapsack Problem using Dynamic Programming
0/1 Example on Knapsack Problem using Dynamic Programming
Traveling Salesman Problem using Dynamic Programming - Undirected Graph
Traveling Salesman Problem using Dynamic Programming - Directed Graph
Longest Common Subsequence using Dynamic Programming
Longest Common Subsequences all possibilities using Dynamic Programming
Multistage Graph Problem - Forward Approach
Multistage Graph Problem - Forward Approach Example
Multistage Graph Problem - Backward Approach
OBST - Optimal Binary Search Tree using Dynamic Programming
OBST Example using Dynamic Programming
All Pair Shortest Path using Dynamic Programming
Divide & Conquer vs Dynamic Programming
Dynamic Programming vs Greedy Method
Introduction to Graphs & Graph Terminology
Introduction to Graph Traversals
Depth First Search
Breadth First Search
Introduction to Backtracking
N-Queens Problem using Backtracking
Sum of Subset Problem using Backtracking
Hamiltonian Cycle Problem using Backtracking
Graph Coloring Problem using Backtracking
Introduction to Branch and Bound
Traveling Salesman Problem using Branch and Bound
0/1 Knapsack Problem using Least Cost Branch and Bound
0/1 Knapsack Problem using FIFO Branch and Bound
Disjoint Sets - Simple Union - Simple Find
Weighted Union
Collapsing Find

Taught by

Sundeep Saradhi Kanthety

Reviews

Start your review of Design and Analysis of Algorithms Part 2 - Dynamic Programming and Backtracking

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.