next up previous contents
Next: Probleme propuse Up: Tipuri de date abstracte Previous: Definirea tipului abstract stiva   Cuprins


Evaluarea unei expresii în notatie poloneza

Notatia poloneza (sau postfix) este un mod de scriere a expresiilor, în care ordinea operatorilor si a operanzilor este schimbata fata de cea dintr-o expresie uzuala.

În notatia uzuala (numita si infix) o expresie are forma:
operand operator operand

În notatia postfix (poloneza) expresia este scrisa sub forma:
operand operand operator

De exemplu:

a + b devine în notatie poloneza a b +

(a - b) * c devine a b - c *

a - b * (c + d) devine a b c d + * -

Avantajul notatiei poloneze este acela ca indica ordinea corecta a evaluarii operatiilor fara a utiliza paranteze. Astfel, o expresie poloneza poate fi evaluata printr-o singura parcurgere a sa.

Pentru evaluarea unei expresii în notatie poloneza se poate folosi o stiva de valori reale. Ori de câte ori întâlnim în expresie un operand, valoarea lui este introdusa în stiva. Daca întâlnim un operator atunci se extrag doua valori din vârful stivei, care sunt, de fapt, cei doi operanzi, aplicam operatorul asupra valorilor extrase si rezultatul îl depunem în stiva. În momentul în care s-a terminat parcurgerea expresiei, rezultatul final al expresiei este în vârful stivei (si stiva contine doar aceasta valoare).


next up previous contents
Next: Probleme propuse Up: Tipuri de date abstracte Previous: Definirea tipului abstract stiva   Cuprins
Cristian Gavrila 2001-10-02