அல்கோரிதம்queue using stack

இரண்டு stack-களால் queue

TT
Testlaa Team
May 14, 20261 min read

FIFO — இரண்டு stack; pour — amortized pattern.

Try this in Python

class QueueTwoStacks:
    def __init__(self) -> None:
        self.a: list[int] = []
        self.b: list[int] = []

    def enqueue(self, x: int) -> None:
        self.a.append(x)

    def dequeue(self) -> int:
        if not self.b:
            while self.a:
                self.b.append(self.a.pop())
        return self.b.pop()


q = QueueTwoStacks()
q.enqueue(1)
q.enqueue(2)
print(q.dequeue(), q.dequeue())

Key takeaways

  • ஒவ்வொரு element இருமுறையே நகரும்.
  • Amortized O(1).
  • Slow dequeue சிலமுறை OK.

Tags:

Stacks & queuesPythonமாணவர்கள்