Une question similaire a déjà été posée il , mais la question est ici l'inverse de celui - ci, en utilisant deux files d' attente comme une pile. La question...
Compte tenu de deux files d' attente avec leurs opérations standard ( enqueue
, dequeue
, isempty
, size
), mettre en œuvre une pile avec ses opérations standard ( pop
, push
, isempty
, size
).
Il devrait y avoir deux versions de la solution.
- Version A : La pile doit être efficace lors de la poussée d'un élément; et
- Version B : La pile doit être efficace lors de l'éclatement d'un élément.
Je suis plus intéressé par l'algorithme que par toute implémentation de langage spécifique. Cependant, je salue les solutions exprimées dans des langues que je connais (Java,c #,python,vb,javascript,php).
Pop
fonctionne en $ O (1) $ et Push
fonctionne en $ O (\ sqrt {n}) $ temps amorti.