Podobne pytanie zostało tam zadane wcześniej , ale tutaj jest odwrotnie, używając dwóch kolejek jako stosu. Pytanie...
Biorąc pod uwagę dwie kolejki z ich standardowych operacji ( enqueue, dequeue, isempty, size), zaimplementować stos z jego standardowych operacji ( pop, push, isempty, size).
Powinny istnieć dwie wersje rozwiązania.
- Wersja A : Stos powinien być wydajny podczas wypychania elementu; i
- Wersja B : Stos powinien być wydajny podczas wyskakiwania elementu.
Interesuje mnie algorytm bardziej niż jakiekolwiek konkretne implementacje językowe. Z zadowoleniem przyjmuję jednak rozwiązania wyrażone w językach, które znam (Jawa,do#,pyton,czas,javascript,php).
Popdziała w $ O (1) $ i Pushdziała w $ O (\ sqrt {n}) $ amortyzowanym czasie.