...

/

Introduction to 0/1 Knapsack

Introduction to 0/1 Knapsack

Let's get introduced to the 0/1 Knapsack pattern.

Overview

A knapsack is defined as a bag carried by hikers or soldiers for carrying food, clothes, and other belongings. The Knapsack problem, as the name suggests, is the problem faced by a person who has a knapsack with a limited capacity and wants to carry the most valuable items. In other words, we are given NN items, each having a specific weight and a value, and a knapsack with a maximum capacity. Our job is to put as many items as possible in the knapsack such that the cumulative weight of the items doesn't exceed the knapsack's capacity, and the cumulative value of the items in the knapsack is maximized.

In this pattern, we will be discussing 8 problems related to this pattern. The following diagram shows an overview of this pattern.

Problems explored in 0/1 Knapsack pattern

The 0/1 Knapsack is a special case of the Knapsack problem where item selection has some constraints. In general, the following restrictions are applied:

  • A maximum of one item can be selected of each kind, that is, the number of items of each kind in the knapsack is either zero or one.

  • We can't take a fraction of an item, that is, we either have to take the complete item or leave it.

Mathematically, Given a set of nn items, each with a value viv_i ...