Datenstrukturen und Algorithmen
Der Ausdruck „3 4 + 2 * 5 −“ in umgekehrter polnischer Notation (Postfixnotation) wird ausgewertet, indem jede Zahl auf einen Stack gelegt wird und bei jedem Operator zwei Werte entnommen, verrechnet und das Ergebnis wieder abgelegt wird. Welches Ergebnis entsteht? Der linke Operand eines Operators ist der Wert, der früher abgelegt wurde.
- A−9
- B6
- C9
Antwort und Erläuterung anzeigen
Antwort: C. 9
3 und 4 werden abgelegt; + entnimmt beide und legt 3 + 4 = 7 ab. Dann wird 2 abgelegt, und * legt 7 × 2 = 14 ab. Nach dem Ablegen von 5 zieht − den später abgelegten Wert 5 vom früher abgelegten Wert 14 ab: 14 − 5 = 9. In der Postfixnotation ist die Reihenfolge der Operationen durch die Anordnung festgelegt, daher sind keine Klammern nötig; der Ausdruck entspricht (3 + 4) × 2 − 5 in gewöhnlicher Schreibweise. −9 entsteht durch Vertauschen der Operanden der Subtraktion, 6 durch das Lesen als 3 + 4 × 2 − 5 ohne Klammern.