Database System Concepts
Database System Concepts
7th Edition
ISBN: 9780078022159
Author: Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher: McGraw-Hill Education
Bartleby Related Questions Icon

Related questions

Question

Using Java, can you provide an algorithm for the 0-1 Knapsack algorithm using the Backtracking method . Please show unrecursively. Below is an example of the code from the textbook and data. Thanks

Suppose that n =
4, W16, and we have the following:
i
1
2
3
4
Pi
W₂
$20
$6
$50 10 $5
$10 5
W₂
Pi
$40
2
$30 5
expand button
Transcribed Image Text:Suppose that n = 4, W16, and we have the following: i 1 2 3 4 Pi W₂ $20 $6 $50 10 $5 $10 5 W₂ Pi $40 2 $30 5
void knapsack (index i,
{
if
}
}
int profit, int
(weight <= W && profit >
marprofit profit;
numbest i;
=
bestset
include;
if (promising (i)) {
include [i+1]
knapsack(i+1,
include [ + 1]
knapsack(i+1, profit, weight);
}
bool promising (index i)
{
index j, k;
int totweight;
float bound;
if (weight >= W)
return false;
else {
weight)
marprofit){
"yes";
profit + p[i+1], weight + w[i+1]);
"no":
j=i+1;
bound profit;
totweight
weight;
while (j<= n && totweight + w[j] <= W){
totweight = totweight + w[i];
bound bound + p[j];
j++;
}
k = ji
if (k <=n)
bound = bound (W- totweight)
return bound > maxprofit;
// This set is best
// so far.
// Set numbest to
// number of items
// considered. Set
// bestset to this
// solution.
*
// Include w[i+1].
// Do not include
// w[i+1].
// Node is promising only
// if we should expand to
// its children. There must
// be some capacity left for
// the children.
// Grab as many items as
// possible.
// Use k for consistency
// with formula in text.
p[k]/w[k];
// Grab fraction of kth
// item.
expand button
Transcribed Image Text:void knapsack (index i, { if } } int profit, int (weight <= W && profit > marprofit profit; numbest i; = bestset include; if (promising (i)) { include [i+1] knapsack(i+1, include [ + 1] knapsack(i+1, profit, weight); } bool promising (index i) { index j, k; int totweight; float bound; if (weight >= W) return false; else { weight) marprofit){ "yes"; profit + p[i+1], weight + w[i+1]); "no": j=i+1; bound profit; totweight weight; while (j<= n && totweight + w[j] <= W){ totweight = totweight + w[i]; bound bound + p[j]; j++; } k = ji if (k <=n) bound = bound (W- totweight) return bound > maxprofit; // This set is best // so far. // Set numbest to // number of items // considered. Set // bestset to this // solution. * // Include w[i+1]. // Do not include // w[i+1]. // Node is promising only // if we should expand to // its children. There must // be some capacity left for // the children. // Grab as many items as // possible. // Use k for consistency // with formula in text. p[k]/w[k]; // Grab fraction of kth // item.
Expert Solution
Check Mark
Knowledge Booster
Background pattern image
Computer Science
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
Recommended textbooks for you
Text book image
Database System Concepts
Computer Science
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:McGraw-Hill Education
Text book image
Starting Out with Python (4th Edition)
Computer Science
ISBN:9780134444321
Author:Tony Gaddis
Publisher:PEARSON
Text book image
Digital Fundamentals (11th Edition)
Computer Science
ISBN:9780132737968
Author:Thomas L. Floyd
Publisher:PEARSON
Text book image
C How to Program (8th Edition)
Computer Science
ISBN:9780133976892
Author:Paul J. Deitel, Harvey Deitel
Publisher:PEARSON
Text book image
Database Systems: Design, Implementation, & Manag...
Computer Science
ISBN:9781337627900
Author:Carlos Coronel, Steven Morris
Publisher:Cengage Learning
Text book image
Programmable Logic Controllers
Computer Science
ISBN:9780073373843
Author:Frank D. Petruzella
Publisher:McGraw-Hill Education