0/1 Knapsack Problem Using Dynamic Programming - Tutorial & Source Code

Publié le: 09 décembre 2019
sur la chaîne: Stable Sort
14,446
511

01 Knapsack Problem defined and explained. In this tutorial we explain why a greedy rule does not work and present a dynamic programming algorithm that fills out a table. The running time complexity of the dynamic programming algorithm is pseudo-polynomial, not quadratic, even though the table is two dimensional. Understanding the running time complexity gives a sense of why this problem is hard and why it's called "weakly NP-complete".

Source code of minimal implementation in JavaScript:
https://bitbucket.org/StableSort/play...

Source code implementation in Java:
https://bitbucket.org/StableSort/play...

Wikipedia: https://en.wikipedia.org/wiki/Knapsac...

Given a set of items, each with a weight and a value, determine the number of each item to include in a collection so that the total weight is less than or equal to a given limit and the total value is as large as possible. It derives its name from the problem faced by someone who is constrained by a fixed-size knapsack and must fill it with the most valuable items.

Weak NP-completeness: https://en.wikipedia.org/wiki/Weak_NP...

This is a common problem that is given during coding interviews in engineering firms such as Google and Microsoft.

Written and narrated by Andre Violentyev


Sur cette page du site, vous pouvez voir la vidéo en ligne 0/1 Knapsack Problem Using Dynamic Programming - Tutorial & Source Code durée heure minute seconde en bonne qualité , qui a été Téléchargé par l'utilisateur Stable Sort 09 décembre 2019, Partagez le lien avec vos amis et connaissances, sur youtube cette vidéo a déjà été regardée 14,446 fois et il a aimé 511 téléspectateurs. Bon visionnage!