1) V následující sekvenci znaků znamená hvězdička operaci pop, písmeno operaci push. Zapište výslednou sekvenci znaků, která vznikne odebíráním ze zásobníku. Na začátku je zásobník prázdný. W O S * C T * A * * E K * V O * * * R * L F * * * * 2) Jak by vypadala sekvence znaků a hvězdiček (pro zásobník), která vytiskne znaky v opačném pořadí? 3) Jak by vypadala sekvence znaků a hvězdiček (pro zásobník), která vytiskne znaky ve stejném pořadí? 4) Vymyslete podobný příklad jako v 1). 5) V následující sekvenci znaků znamená hvězdička operaci get (dequeue), písmeno operaci put (enqueue). Zapište výslednou sekvenci znaků, která vznikne odebíráním znaků z fronty. Na začátku je fronta prázdná. E A S * Y * Q U E * * * S T * * * I O * N * * * 6) Upravte kód z prednášky tak, aby byly ošetřeny případy, kdy chceme odebrat z prázdného zásobníku nebo přidávat do plného. class Zasobnik: """zásobník uložený v seznamu""" def __init__(self): self.s = [] # prázdný zásobník def pridej(self, x): self.s.append(x) def odeber(self): return self.s.pop() 7) Mejme zásobník a posloupnost operací pop a push. Push dostává popořadě celá čísla od 0 do 9. Která z následujících sekvencí nemůže vznikout? (a) 4 3 2 1 0 9 8 7 6 5 (b) 4 6 8 7 5 3 2 9 0 1 (c) 2 5 6 7 4 8 9 3 1 0 (d) 4 3 2 1 0 5 6 7 8 9 *8) Jak by bylo možné implementovat frontu pomocí dvou zásobníků? Jak by vypadaly operace put a get?