Datastructuren en algoritmen
De expressie „3 4 + 2 * 5 −” in omgekeerde Poolse notatie (postfixnotatie) wordt geëvalueerd door elk getal op een stack te leggen en bij elke operator twee waarden eraf te halen, het resultaat te berekenen en dat weer op de stack te leggen. Wat is het resultaat? De linkeroperand van een operator is de waarde die het eerst op de stack is gelegd.
- A−9
- B6
- C9
Antwoord en toelichting tonen
Antwoord: C. 9
Eerst gaan 3 en 4 erop; + haalt ze eraf en legt 3 + 4 = 7 terug. Leg 2 erop; * legt 7 × 2 = 14 terug. Leg 5 erop; − trekt de latere waarde 5 af van de eerdere waarde 14, wat 14 − 5 = 9 oplevert. In postfixnotatie ligt de volgorde van de bewerkingen vast in de volgorde van de symbolen, dus haakjes zijn niet nodig; in de gewone notatie komt deze expressie overeen met (3 + 4) × 2 − 5. −9 ontstaat als de operanden van de aftrekking worden verwisseld, en 6 als de expressie zonder haakjes als 3 + 4 × 2 − 5 wordt gelezen.