Stack vs Queue
Pilha é uma lista ordenada na qual a inserção e exclusão de itens da lista podem ser feitas apenas em uma extremidade chamada de topo. Por esse motivo, a pilha é considerada como uma estrutura de dados LIFO (Last in First out). Fila também é uma lista ordenada em que a inserção de itens da lista é feita em uma extremidade chamada traseira, e a exclusão de itens é feita na outra extremidade chamada frente. Este mecanismo de inserção e exclusão torna a fila uma estrutura de dados First in First out (FIFO).
O que é Stack?
Como mencionado anteriormente, pilha é uma estrutura de dados na qual os elementos são adicionados e removidos de apenas uma extremidade chamada topo. As pilhas permitem apenas duas operações fundamentais chamadas push e pop. A operação push adiciona um novo elemento ao topo da pilha. A operação pop remove um elemento do topo da pilha. Se a pilha já estiver cheia, quando uma operação push for executada, é considerado um estouro de pilha. Se uma operação pop for executada em uma pilha já vazia, ela será considerada como um estouro negativo da pilha. Devido ao pequeno número de operações que podem ser realizadas em uma pilha, é considerada uma estrutura de dados restrita. Além disso, de acordo com a forma como as operações push e pop são definidas, é claro que os elementos que foram adicionados por último na pilha saem da pilha primeiro. Portanto, a pilha é considerada uma estrutura de dados LIFO.
O que é fila?
Em uma fila, os elementos são adicionados da parte traseira da fila e removidos da frente da fila. Como os elementos adicionados primeiro serão removidos da fila primeiro, ele mantém a ordem FIFO. Devido a esta ordem de adição e remoção de elementos, a fila representa a ideia de uma fila de checkout. As operações gerais suportadas por uma fila são operações en-queue e de-queue. A operação de enfileiramento adicionará um elemento na parte posterior da fila, enquanto a operação de eliminação da fila remove um elemento da frente da fila. Em geral, as filas não têm um limite no número de elementos que podem ser adicionados à fila, além das restrições de memória.
Qual é a diferença entre Stack e Queue?
Mesmo que as pilhas e as filas sejam tipos de listas ordenadas, elas têm algumas diferenças importantes. Nas pilhas, a adição ou exclusão de itens pode ser feita apenas de uma extremidade chamada de topo, enquanto nas filas a adição de itens é feita de uma extremidade chamada de trás e a exclusão de itens é feita da outra extremidade chamada de frente. Em uma pilha, os itens adicionados por último à pilha serão removidos primeiro da pilha. Portanto, a pilha é considerada uma estrutura de dados LIFO. Nas filas, os itens adicionados primeiro serão removidos da fila primeiro. Portanto, a fila é considerada uma estrutura de dados FIFO.
Link relacionado:
Diferença entre pilha e pilha