Dynamic_programming
Dynamic_programming
ALGORITHMS
DYNAMIC
PROGRAMMI
NG
2020/E/010
2020/E/041
2020/E/155
CONTENTS
• Introduction
• Problem and Importance
• Key Characteristics
• Importance in Computing
• Variants and Optimization
• Some Common Problems
• Fibonacci Numbers
• Longest Common Subsequence
• 0/1 Knapsack Problem
• Pros and Cons
• Q&A
Introduction
Historical Context
Creator's Background
1.Optimal Substructure
2.Overlapping Subproblems
3.Memoization
Importance in Computing
• Variants
• Top –Down (Memoization)
- Recursion with catching results
• Bottom Up (Tabulation)
- Iterative solutions using a table
• Optimizations
- Space Optimization – Using 2 variables instead of an
entire table
Eg:- Fibonnacci with O(1) space
- State Compression – Reducing states in multi-
dimensional problems.
1.Bioinformatics
• Illumina: DNA sequence alignment
• 23andMe: Genetic similarity analysis
2. Resource Allocation
• Microsoft Azure: Cloud resource
allocation
• AWS: Container deployment
optimization
Pros and Cons
Advantages
Limitations