Veröffentlicht 4. Juli 201015 j Hallo zusammen Ich mache eine technische Ausbildung und dieses Jahr habe ich Informatik als Fach dazubekommen, unser Lehrer denkt aber das jeder Programmieren kann was aber leider nicht so ist ... das sieht man an mir. Ich soll das Kanpsack problem in die nachfolgende struktur einbinden import java.util.*; public class Knapsack { static int b[] = {3, 4, 5, 8, 10}; static int w[] = {2, 3, 4, 5, 9}; public static void discreteKnapsack(int W, int b[], int w[]) { assert(b.length == w.length); int n = b.length; int V[][] = new int[n+1][W+1]; int i, j; /* hier */ System.out.println(V[n][W]); } public static void main(String[] args) { discreteKnapsack(20, b, w); } } Ich weis was das Kanpsack problem ist und was damit erreicht werden soll, aber wie man das programmiert und in das obige Programm einfügt weiß ich leider nicht. Ich wär sehr dankbar wenn sich das mal jemand anschauen könnte weil ich wirklich nicht weiß wie ich das machen könnte. Gruß Christoph Bearbeitet 4. Juli 201015 j von flashpixx Code Tags eingefügt
4. Juli 201015 j Keiner wird dir hier den fertigen Quellcode präsentieren. Lies dir die Texte unten auf den Seiten durch, so dass du den Algorithmus verstehst und formuliere deinen eigenen Pseudocode. Den kannst du dann Schritt für Schritt zu Java übertragen. Rucksackproblem ? Wikipedia Rucksackproblem Auch wenn man nicht Programmieren kann/möchte, das Lesen von allgemein beschriebenen Lösungsverfahren bzw. Pseudocode kann auch ein Nicht-Programmierer.
4. Juli 201015 j Das Problem ist ganz klassisch und lässt mit hilfe eines LPs (lineares Programmieren) lösen. Dafür gibt es den Simplex-Algorithmus, den Du im Grunde nur implementieren musst Bitte verwende die Code-Tags für das posten von Quellcodes. Ich habe sie nachträglich eingefügt
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.