![]() |
Dynamische Programmierung Partition Problem
Hallo zusammen,
es geht um folgendes Problem: ![]() Eingabe: Eine Liste mit Integerwerten Gesucht: Der Wahrheitswert, ob die Liste in zwei Unterlisten mit gleicher Summe zerlegt werden kann Im oben verlinkten Wikipediaartikel ist ja ein dynamischer Algorithmus angegeben. Doch entweder habe ich den nicht richtig verstanden oder der ist irgendwie falsch. :stupid: Wenn ich den so übernehme, bekomme ich immer eine ArrayOutOfBounds-Exception in Zeile 8. Ist ja eigentlich auch logisch, weil im ersten Schleifendurchlauf ist i = 1 und j = 1. Wenn jetzt in der Liste an Indexposition 1 ein Wert größer als 1 steht, wird der Wert i-S[j] doch zwangsweise negativ und liegt dann außerhalb von P. Habe ich da jetzt einen Denkfehler oder ist der wirklich nicht ganz korrekt? :gruebel: |
AW: Dynamische Programmierung Partition Problem
Mit deinem bisher erstellten Quelltext, könnte man dir mit Sicherheit weiterhelfen...
|
AW: Dynamische Programmierung Partition Problem
Zitat:
Die For-J-Schleife über alle Elemente von S geht zudem bis zur Summe aller Elemente von S und dann knallt es auch. Beispiel:
Code:
S = (1,2,3) (also Elemente 0,1,2.
N = 1+2+3 = 6 For j:=1 to 6 S[j] <--- puff |
AW: Dynamische Programmierung Partition Problem
Arrayindizes fangen bei Low(Array) an, was bei dynamischen immer 0 ist, bei statischen aber frei definiert werden kann.
|
AW: Dynamische Programmierung Partition Problem
Bei mir steht gerade eher die Frage im Raum, ob die Länge des Arrays gesetzt wurde :D
|
AW: Dynamische Programmierung Partition Problem
Mit Code wäre das leichter zu klären :roll:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:04 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz