Wie kann man sicherstellen, dass der Algorithmus das gewünschte Ergebnis liefert, wenn das Gewicht der Gegenstände nicht ganzzahlig ist?
Um sicherzustellen, dass der Algorithmus das gewünschte Ergebnis liefert, auch wenn das Gewicht der Gegenstände nicht ganzzahlig ist, kann man die Gewichte der Gegenstände in Bruchteilen oder Dezimalzahlen umrechnen und den Algorithmus entsprechend anpassen, um mit diesen Werten zu arbeiten. Dies ermöglicht es, präzisere Berechnungen durchzuführen und genauere Ergebnisse zu erzielen.
// Beispiel eines Algorithmus zur Berechnung des maximalen Gewichts mit Dezimalzahlen
function knapsack($weights, $values, $capacity) {
$n = count($weights);
$dp = array_fill(0, $n + 1, array_fill(0, $capacity + 1, 0));
for ($i = 1; $i <= $n; $i++) {
for ($w = 1; $w <= $capacity; $w++) {
if ($weights[$i - 1] <= $w) {
$dp[$i][$w] = max($values[$i - 1] + $dp[$i - 1][$w - $weights[$i - 1]], $dp[$i - 1][$w]);
} else {
$dp[$i][$w] = $dp[$i - 1][$w];
}
}
}
return $dp[$n][$capacity];
}
$weights = [2.5, 3.5, 5.5];
$values = [60, 70, 80];
$capacity = 8;
echo knapsack($weights, $values, $capacity); // Output: 150
Related Questions
- What are the best practices for handling character encoding issues in PHP scripts?
- How can PHP code be optimized to accurately display information based on a user-inputted number of days?
- How can PHP developers effectively use search engines like Google to find specific information related to HTTP attributes?