====== Präfixsumme ======
Als Präfixsumme einer Zahlenfolge bezeichnet man die schrittweise Addition der einzelnen Zahlen. Dabei wird jede Zahl zur vorhergehenden Summe addiert.\\
Wir können die Berechnung allgemein folgendermaßen darstellen: **si = si-1 + xi**
Um diese Definition zu verdeutlichen, berechnen wir für zufällig gewählte Zahlen die Präfixsumme:
^ Zahlen | 3 | 7 | 12 | 4 | -6 | 2 | -4 |
^ Präfixsumme | 3 | 10 | 22 | 26 | 20 | 22 | 18 |
Noch einmal der Rechenvorgang aufgelistet:
^ Index (i) ^ Zahl (x) ^ Berechnung ^ Summe (s) ^
| 1 | 3 | 0 + 3 | 3 |
| 2 | 7 | 3 + 7 | 10 |
| 3 | 12 | 10 + 12 | 22 |
| 4 | 4 | 22 + 4 | 26 |
| 5 | -6 | 26 - 6 | 20 |
| 6 | 2 | 20 + 2 | 22 |
| 7 | -4 | 22 - 4 | 18 |
Jetzt wissen wir was die Präfixsumme ist und wie wir sie berechnen. Sehen wir uns nun ein paar Beispiele an, die wir über diese Berechnung lösen bzw. optimieren können:
* [[algo:prefix-sum:optimization:stocks|Summierung von Aktienpositionen]]
* [[algo:prefix-sum:optimization:area|Größtmögliche freie Grundstücksfläche]]
===== Siehe auch =====
* [[https://www.proggen.org/forum/viewtopic.php?f=39&t=7636|Autorendiskussion]]
* [[algo:knapsack|Rucksackproblem]]
* [[struct:tree:fenwick|Binary Indexed Tree (Fenwick Tree)]]