View the step-by-step solution to:

2 Knapsack In the knapsack problem we have n items, where each item i has an integer value vi and an integer price pi , and we also have a budget of...

2.2 Knapsack


In the knapsack problem we have n items, where each item i has an integer value vi and an integer price pi , and we also have a budget of B. The goal is to find the maximum total value of items that can be picked without exceeding the budget. In particular, out of all sets of items whose total price is at most B, we want the set of highest total value. In class, we gave a dynamic programming algorithm to solve this problem whose running time was O(nB). One issue, though, is that if the prices are large, then O(nB) may not be so good. In this problem, we want you to come up with an alternative algorithm whose running time is O(nV ), where V is the value of the optimal solution. So, this would be a better algorithm if the prices are much larger than the values. Describe in English the idea of your algorithm. Define the memo table that you will use and write the base case and recursive step needed to fill the table. Finally write the pseudo code. You don't need to provide a proof of correctness.

[Note: Your algorithm should work even if V is not known in advance, but you may want to first assume you are given V up front and then afterwards figure out how to remove that requirement.]

Recently Asked Questions

Why Join Course Hero?

Course Hero has all the homework and study help you need to succeed! We’ve got course-specific notes, study guides, and practice tests along with expert tutors.

-

Educational Resources
  • -

    Study Documents

    Find the best study resources around, tagged to your specific courses. Share your own to gain free Course Hero access.

    Browse Documents
  • -

    Question & Answers

    Get one-on-one homework help from our expert tutors—available online 24/7. Ask your own questions or browse existing Q&A threads. Satisfaction guaranteed!

    Ask a Question