Knapsack Problem. Solved by brute force, backtracking and dynamic programming algorithms. For Algorithms and Data Structures 3.