Mastering Dynamic Programming - A Real-Life Problem (Part 2)
Tech With Nikola Tech With Nikola
49.7K subscribers
33,555 views
1.2K

 Published On Dec 20, 2023

🎬 Mastering Dynamic Programming: Part 2 - Let's Solve a Real-Life Problem 🎬

In the previous video, I talked about the basics of dynamic programming. I often get comments how dynamic programming is not useful in real-life. While it's true that most people don't use it on a daily basis, it's wrong to diminish its value.

Most of us use software that is uses dynamic programming to some extent on a daily basis, we just forget, or maybe we are not even aware of it. This is why I want to talk about two real life problems.

In this video, I will walk you through the fundamentals of the Git Diffing algorithm used to find differences between two files. It is based on the Longest Common Subsequence, which is well-known algorithm in dynamic programming.

🔑 Key Takeaways:

📌 Learning about real-life use-cases
📌 Understanding the fundamental principles behind Git Diffing Algorithm
📌 Understanding the Longest Common Subsequene Algorithm
📌 A step-by-step explanation of how to find the LCS, not just its length.

Dynamic programming is like a puzzle-solving technique, and this video is your ultimate guide to fitting the pieces together. Get ready to elevate your coding skills and witness the art of optimization in action.

🚀 If you found this video helpful, don't forget to like, share, and subscribe for more tech tutorials!

🔗 If you enjoy trhis video, please like, share, and subscribe for more enlightening tutorials. Join the dynamic programming journey today!

Useful links and resources:
Source code: https://github.com/freezing/data-stru...
Myers Algorithm: http://www.xmailserver.org/diff2.pdf
Introduction to Algorithms by Cormen (affiliate link): https://www.amazon.co.uk/Introduction...

🔗 Connect with me:

Support me on patreon:
  / techwithnikola  

LinkedIn:
  / nikola-stojiljkovic-67a91931  

Join my discord:
  / discord  

Visit my blog: https://techwithnikola.com
Follow me on Instagram:
  / techwithnikola  

Follow me on Twitter / X:
  / techwithnikola  

Timecodes:
00:00 - Intro
00:57 - Longest Common Subsequence Problem
03:12 - Greedy Approach
04:10 - Dynamic Programming Approach
09:14 - LCS DP Implementation
10:18 - LCS Reconstruction Idea
11:40 - LCS Reconstruction Implementation
12:46 - Text Diff Idea
14:50 - Outro

show more

Share/Embed