In Einführung in Algorithmen (CLRS) , Cormen et al. Sprechen Sie über das Lösen des Rod-Schneidproblems wie folgt (Seite 369)
%Vor% Hier ist p[i]
der Preis für die Länge des Stabes, r[i]
ist der Ertrag, der Stab bei Länge und s[i]
zu schneiden, gibt uns die optimale Größe für das erste Stück abzuschneiden.
Meine Frage betrifft die äußere Schleife, die j
von 1
bis n
iteriert, und die innere Schleife i
, die ebenfalls von 1
nach n
geht.
In Zeile 6 vergleichen wir q
(der bisher maximal erzielte Umsatz) mit r[j - i]
, dem maximalen Umsatz, der im vorherigen Schnitt erzielt wurde.
Wenn j = 1 and i = 1
, scheint es in Ordnung, aber die nächste Iteration der inneren Schleife, wo j = 1 and i = 2
, wird nicht r[j - i] be r[1 - 2] = r[-1]
?
Ich bin mir nicht sicher, ob der negative Index hier Sinn macht. Ist das ein Tippfehler in CLRS oder mir fehlt hier etwas?
Ich weiß, dass einige von Ihnen nicht wissen, was das Rod-Cutting-Problem ist, hier ist ein Beispiel .
Tags und Links algorithm language-agnostic dynamic-programming