Przypomnienie: stos i kolejka
Sprawdzian: metody algorytmiczne i struktury danych - Informatyka - liceum klasa 3, zakres rozszerzony (Python)
**Stos** (LIFO) zdejmuje ostatnio dodany element: `append` i `pop()`. **Kolejka** (FIFO) oddaje najdawniej dodany: `deque` z `append` i `popleft()`. Stos pilnuje par nawiasów i liczy ONP, kolejka obsługuje zadania w kolejności przyjścia i przeszukiwanie wszerz.
from collections import deque
stack = []
queue = deque()
for x in [1, 2, 3]:
stack.append(x)
queue.append(x)
print("ze stosu:", stack.pop(), "z kolejki:", queue.popleft())
tokens = "5 1 2 + 4 * + 3 -".split()
values = []
for t in tokens:
if t in "+-*":
b, a = values.pop(), values.pop()
values.append(a + b if t == "+" else a - b if t == "-" else a * b)
else:
values.append(int(t))
print("ONP:", values[0])Ładowanie interaktywnego edytora... Jeśli się nie pojawi, włącz JavaScript.
Wszystkie lekcje kursu Informatyka - liceum klasa 3, zakres rozszerzony·Zaloguj się, aby zapisać postęp na koncie.