Przetłumacz następujące zdania, które mają zastosowanie w strukturze stosów ( nie koniecznie prawdziwe ).
a) ~empty(s) => push(pop(s),e)=pop(push(s,e))
Jeżeli stos nie jest pusty ( znajdują się elementy w zbiorze S ), wtedy odłożony na stos, wcześniej zdjęty element jest równo ściągniętemu ze stosu elementowi wcześniej na niego odłożonemu.
b) ~empty(s) => push(pop(s), top(s))=pop(push(s,top(s)))
Jeżeli stos nie jest pusty ( znajdują się elementy w zbiorze S ), wtedy odłożony na stos element, wcześniej zdjęty z jego szczytu, jest równy elementowi zdjętemu, który wcześniej został odłożony na szczyt.
Dobrze?
Zdania dotyczące stosu
-
- Użytkownik
- Posty: 4094
- Rejestracja: 10 lut 2008, o 15:31
- Płeć: Mężczyzna
- Lokalizacja: Łódź
- Podziękował: 12 razy
- Pomógł: 805 razy
Zdania dotyczące stosu
Dziwne to polecenie.
Mamy funkcję push(s,e), którą rozumiem jako "odłóż e na stos s". Mamy też zapis "push(pop(s),e)", co oznaczałoby, ze funkcja "pop(s)" zwraca stos. Skoro porównujemy "push(...)" i "pop(...)", to "push(s,e)" też zwraca stos. W takim razie podane zadania należałoby czytać nie jako "element ... jest równy ...", tylko "stos ... jest taki sam (w tym samym stanie), co stos ...".
W podpunkcie b wypadałoby poza tym wiedzieć, w jakiej kolejności obliczane są argumenty dla funkcji "push", żeby wiedzieć, skąd bierzemy ten "top(s)".
Mamy funkcję push(s,e), którą rozumiem jako "odłóż e na stos s". Mamy też zapis "push(pop(s),e)", co oznaczałoby, ze funkcja "pop(s)" zwraca stos. Skoro porównujemy "push(...)" i "pop(...)", to "push(s,e)" też zwraca stos. W takim razie podane zadania należałoby czytać nie jako "element ... jest równy ...", tylko "stos ... jest taki sam (w tym samym stanie), co stos ...".
W podpunkcie b wypadałoby poza tym wiedzieć, w jakiej kolejności obliczane są argumenty dla funkcji "push", żeby wiedzieć, skąd bierzemy ten "top(s)".