Ψάχνω ψάχνω.... μα ποτέ δεν μπορώ να βρω ένα καλό πηγαίο κώδικα κάπου για να μελετήσω το knapsack καλά. Γνωρίζει κανείς το πρόβλημα? Εάν ναι εάν μπορεί ας το γράψει σε C/C++.
Knapsack
Re: Knapsack
Κώδικας: Επιλογή όλων
for (int i=1;i<=MAXCAP;++i)
best[i]=0;
for (int i=1;i<=MAXCAP;++i)
for (int j=1;j<=MAXITEM;++j)
if (i>=a[j] && best[i]<best[i-a[j]]+value[j])
best[i]=best[i-a[j]]+value[j];
-
- Δημοσιεύσεις: 712
- Εγγραφή: Κυρ Δεκ 21, 2008 2:45 pm
Re: Knapsack
απλά διάβασε τα έγγραφα που σου έστειλα, αν τα είχες ανοίξει θα βλεπες ότι έχουν και ψευδοκώδικα.
svyr cercrv an inevrfnv cbyl tvn an gb iyrcrvf nhgb... cvtrar xnzvn ibygn yrj tj.
Re: Knapsack
Τα διάβασα αλλά στο τελευταίο βήμα δεν κατάλαβα τι ζητούσε.thetrojan01 έγραψε:απλά διάβασε τα έγγραφα που σου έστειλα, αν τα είχες ανοίξει θα βλεπες ότι έχουν και ψευδοκώδικα.
Re: Knapsack
userresu έγραψε:Όπου best το μεγαλύτερο κέρδος που μπορείς να έχεις με capacity=i, a ο όγκος του αντικειμένου i και value η αξία του.Κώδικας: Επιλογή όλων
for (int i=1;i<=MAXCAP;++i) best[i]=0; for (int i=1;i<=MAXCAP;++i) for (int j=1;j<=MAXITEM;++j) if (i>=a[j] && best[i]<best[i-a[j]]+value[j]) best[i]=best[i-a[j]]+value[j];
Ευχαριστώ.