Im Rucksack-0/1-Problem benötigen wir 2 Eingänge (1 Array & 1 Ganzzahl), um dieses Problem zu lösen:
- ein Array von n Elementen: [n1, n2, n3, ...], jedes Element mit seinem Wertindex und Gewichtsindex.
- Ganzzahl W als maximal zulässiges Gewicht
Nehmen wir an, n = 10 und W = 8:
- n = [n1, n2, n3, ..., n10]
- W = 1000 im binären Term (4 Bit lang)
also ist die Zeitkomplexität T (n) = O (nW) = O (10 · 8) = O (80)
Wenn Sie die Größe von n verdoppeln :
n = [n1, n2, n3, ..., n10 ] -> n = [n1, n2, n3, ..., n20 ]
also Zeitkomplexität T (n) = O (nW) = O (20 · 8) = O (160)
Wenn Sie jedoch die Größe von W verdoppeln , bedeutet dies nicht, dass W = 16 ist, sondern dass die Länge doppelt so lang ist:
W = 1000 -> W = 10000000 im binären Term (8 Bit lang)
also ist T (n) = O (nW) = O (10 · 128) = O (1280)
Die benötigte Zeit nimmt exponentiell zu, so dass es sich um ein NPC-Problem handelt.