Benzer bir soru daha önce orada sorulmuştu , ancak buradaki soru bunun tersi, yığın olarak iki kuyruk kullanıyor. Soru...
Standart işlemleri ile iki sıraları göz önüne alındığında ( enqueue
, dequeue
, isempty
, size
), standart işlemler ile yığın aleti ( pop
, push
, isempty
, size
).
Çözümün iki sürümü olmalıdır .
- Sürüm A : Bir öğeyi iterken yığın verimli olmalıdır; ve
- Sürüm B : Bir öğeyi patlatırken yığın verimli olmalıdır.
Algoritma herhangi bir dil uygulamasından daha çok ilgi duyuyorum. Ancak, bildiğim dillerde ifade edilen çözümleri memnuniyetle karşılıyoruz (java,c #,piton,fi,javaScript,php).
Pop
$ O (1) $ ve Push
$ O (\ sqrt {n}) $ amortisman süresinde çalışan zarif bir çözüm sunar .