Aula 11: Pilhas e filas
Vamos começar na cozinha: imagine uma pilha de pratos — você coloca em cima e retira de cima, então o último que entra é o primeiro que sai. Isso é uma 'pilha', LIFO. Agora imagine uma fila de caixa: o primeiro a chegar é o primeiro atendido — isso é uma 'fila', FIFO. Em Python, uma pilha é uma list
Uma pilha é como uma pilha de pratos: você coloca em cima e retira de cima — o último colocado sai primeiro. Uma fila é como uma fila de caixa: quem chegou primeiro é atendido primeiro. Essa é a diferença toda — de qual extremidade você retira.
- pilha
- Uma estrutura LIFO — o último a entrar é o primeiro a sair. Em Python: uma lista com append e pop no final, ambos O(1).
- fila
- Uma estrutura FIFO — o primeiro a entrar é o primeiro a sair. Em Python: collections.deque com append e popleft, ambos O(1).
- deque
- Uma fila de duas pontas do módulo collections; permite adicionar e remover em O(1) em ambas as extremidades, tornando-a a fila FIFO eficiente.