Szakkörök‎ > ‎Algoritmus szakkör‎ > ‎2015-2016‎ > ‎

5. alkalom

A verem adatszerkezet használatának gyakorlása céljából elkészítjük Dijkstra kétvermes algoritmusának implementációját.

Verem adatszerkezet standard könyvtárakban

 java  c++
 import java.util.Stack;  #include <stack>
 Stack<Integer> s;  stack<int> s;
 s.push(10);  s.push(10);
 x = s.peak();  x = s.top();
 y = s.pop(); y = s.top();
 s.pop();
 if (s.empty()) {...}  if (s.empty()) {...}

Algoritmus

Tokenenként olvassuk a kifejezést.
  • nyitózárójel: nem csinálunk semmit
  • műveleti jel: operátorveremre tesszük
  • szám: operandusveremre tesszük
  • csukózárójel: az operandusverem két legfelső elemét kivesszük, elvégezzük velük az operátorveremből kivett műveletet, végül az eredményt visszatesszük az operandusveremre
  • ha vége a kifejezésnek, az operandusveremben van a végeredmény

Feladat