From the course: Advanced Go Programming: Data Structures, Code Architecture, and Testing
Unlock the full course today
Join today to access over 24,900 courses taught by industry experts.
Introduction to Dynamic Programming (DP) - Go Tutorial
From the course: Advanced Go Programming: Data Structures, Code Architecture, and Testing
Introduction to Dynamic Programming (DP)
- [Instructor] Now, let's focus on the topic of dynamic programming, often shortened to DP. Many engineers find this topic intimidating, but it's a useful tool once you're comfortable with it. Let's start with the core concepts of dynamic programming. Dynamic programming is a technique which allows us to solve complex problems by solving related smaller subproblems. The solutions to the subproblems are then stored in memory or some other structure to be later combined into the solution to the original problem. When solving problems with DP, you'll want to follow a defined four step process. Begin by identifying the problem and representing it in algorithmic form. Oftentimes, the problem will be formulated in words and not represented with data structures. Next, break down the problem into simpler subproblems, and identify the relationship between the subproblems. This step is crucial to understanding whether dynamic…
Practice while you learn with exercise files
Download the files the instructor uses to teach the course. Follow along and learn by watching, listening and practicing.