Special offers now — see discounted courses.
day
:
hour
:
min
:
sec
See special offers
Fundamentals of Dynamic Programming

Fundamentals of Dynamic Programming

1h 26mIntermediate2020-10-12

Authors

Avik Das

Avik Das

Experienced software engineer with a strong academic background

Course details

Having a clearer picture of dynamic programming (DP) can take your coding to the next level. It's a technique that makes it possible to adeptly solve difficult problems, which is why it comes up in interviews and is used in applications like machine learning. In this course, learn about the uses of DP, how to determine when it’s an appropriate tactic, how it produces efficient and easily understood algorithms, and how it's used in real-world applications. Compare different approaches to computing the Fibonacci Sequence and learn how to visualize the problem as a directed acyclic graph. Explore the different variations of DP that you’re likely to encounter by working through a series of increasingly complex challenges. Plus, build a content-aware image resizing application with these new concepts at its core.

Skills covered

Programming FoundationsPythonOpen SourceSoftware DevelopmentOne-Off

Concepts

0. Introduction

  • 01 - The importance of dynamic programming
  • 02 - What you should know

1. Introduction to Dynamic Programming

  • 03 - What is dynamic programming
  • 04 - The Fibonacci sequence
  • 05 - Speeding up calculations with memoization
  • 06 - Bottom-up approach to dynamic programming
  • 07 - Recap of dynamic programming

2. Examples of Dynamic Programming

  • 08 - Planting flowers in a flowerbox
  • 09 - Breaking down the flowerbox problem into subproblems
  • 10 - Solving the flowerbox problem in Python
  • 11 - How many ways can you make change
  • 12 - Breaking down the change-making problem into subproblems
  • 13 - Solving the change-making problem in Python

3. Real-World Dynamic Programming - Content-Aware Image Resizing

  • 14 - What is content-aware image resizing
  • 15 - Preprocessing - Defining the energy of an image
  • 16 - Project - Calculating the energy of an image
  • 17 - Solution - Calculating the energy of an image
  • 18 - Using dynamic programming to find low-energy seams
  • 19 - Project - Finding low-energy seams
  • 20 - Solution - Finding low-energy seams
  • 21 - Project - Using backpointers to reconstruct seams
  • 22 - Solution - Using backpointers to reconstruct seams
  • 23 - Project - Removing low-energy seams
  • 24 - Solution - Removing low-energy seams

4. Dynamic Programming for Machine Learning - Hidden Markov Models

  • 25 - What is a Hidden Markov Model
  • 26 - Modeling a Hidden Markov Model in Python
  • 27 - Inferring the most probable state sequence
  • 28 - Breaking down state inference into subproblems - The Viterbi algorithm
  • 29 - Implementing the Viterbi algorithm in Python
  • 30 - More applications of Hidden Markov Models
  • 31 - Training Hidden Markov Models

Conclusion

  • 32 - Next steps

About us

LyndaKade is a leading learning platform that helps people learn business, software, technology, and creative skills to achieve personal and professional goals.

Phone numberAparat ChannelTelegram SupportTelegram ChannelInstagram Page

All rights to this site belong to LyndaKade.

Terms of Service|Privacy Policy

نماد الکترونیک enamad در صورت اتصال با آی‌پی داخل کشور، نمایش داده خواهد شد.
logo-samandehi - لوگو ساماندهی
Zarinpal
Zibal