logo

Pilha vs. Fila

Primeiro, veremos o que é pilha e o que é fila individualmente e depois discutiremos as diferenças entre pilha e fila.

O que é uma pilha?

Uma estrutura de dados. No caso de um array, o acesso aleatório é possível, ou seja, qualquer elemento de um array pode ser acessado a qualquer momento, enquanto em uma pilha o acesso sequencial só é possível. É um container que segue a regra de inserção e exclusão. Segue o princípio LIFO (último a entrar, primeiro a sair) em que a inserção e exclusão ocorrem de um lado conhecido como principal . Na pilha, podemos inserir os elementos de um tipo de dados semelhante, ou seja, os elementos de tipos de dados diferentes não podem ser inseridos na mesma pilha. As duas operações são realizadas em LIFO, ou seja, empurrar e pop Operação.

se mais no bash shell
Pilha vs. Fila

A seguir estão as operações que podem ser executadas na pilha:

    empurrar (x):É uma operação em que os elementos são inseridos no topo da pilha. No empurrar função, precisamos passar um elemento que queremos inserir em uma pilha.pop():É uma operação em que os elementos são excluídos do topo da pilha. No pop() função, não precisamos passar nenhum argumento.espiar()/topo():Esta função retorna o valor do elemento superior disponível na pilha. Assim como pop(), ele retorna o valor do elemento superior, mas não remove esse elemento da pilha.está vazia():Se a pilha estiver vazia, esta função retornará um valor verdadeiro ou retornará um valor falso.está cheio():Se a pilha estiver cheia, esta função retornará um valor verdadeiro ou retornará um valor falso.

Na pilha, o principal é um ponteiro usado para rastrear o último elemento inserido. Para implementar a pilha, devemos saber o tamanho da pilha. Precisamos alocar memória para obter o tamanho da pilha. Existem duas maneiras de implementar a pilha:

    Estático:A implementação estática da pilha pode ser feita com a ajuda de arrays.Dinâmico:A implementação dinâmica da pilha pode ser feita com a ajuda de uma lista vinculada.

O que é a fila?

A

Semelhanças entre pilha e fila.

Existem duas semelhanças entre a pilha e a fila:

    Estrutura de dados linear
    Tanto a pilha quanto a fila são estruturas de dados lineares, o que significa que os elementos são armazenados sequencialmente e acessados ​​em uma única execução.Flexível em tamanho
    Tanto a pilha quanto a fila são flexíveis em tamanho, o que significa que podem aumentar ou diminuir de acordo com os requisitos do tempo de execução.

Diferenças entre pilha e fila

Pilha vs. Fila

A seguir estão as diferenças entre a pilha e a fila:

Base para comparação Pilha Fila
Princípio Segue o princípio LIFO (Last In-First Out), o que implica que o elemento inserido por último será o primeiro a ser excluído. Segue o princípio FIFO (First In -First Out), o que implica que o elemento adicionado primeiro seria o primeiro elemento a ser removido da lista.
Estrutura Possui apenas uma extremidade a partir da qual ocorre a inserção e a exclusão, e essa extremidade é conhecida como topo. Possui duas extremidades, ou seja, dianteira e traseira. A extremidade frontal é usada para exclusão, enquanto a extremidade traseira é usada para inserção.
Número de ponteiros usados Ele contém apenas um ponteiro conhecido como ponteiro superior. O ponteiro superior contém o endereço do último elemento inserido ou do elemento mais alto da pilha. Ele contém dois ponteiros dianteiro e traseiro. O ponteiro frontal contém o endereço do primeiro elemento, enquanto o ponteiro traseiro contém o endereço do último elemento de uma fila.
Operações realizadas Ele executa duas operações, push e pop. A operação push insere o elemento em uma lista enquanto a operação pop remove o elemento da lista. Ele executa principalmente duas operações, enfileirar e desenfileirar. A operação de enfileiramento realiza a inserção dos elementos em uma fila enquanto a operação de desenfileiramento realiza a exclusão dos elementos da fila.
Exame da condição vazia Se top==-1, o que significa que a pilha está vazia. Se front== -1 ou front = rear+1, significa que a fila está vazia.
Exame de condição completa Se top== max-1, esta condição implica que a pilha está cheia. Se rear==max-1, esta condição implica que a pilha está cheia.
Variantes Não possui nenhum tipo. É de três tipos, como fila prioritária, fila circular e fila dupla.
Implementação Possui uma implementação mais simples. Tem uma implementação comparativamente complexa do que uma pilha.
Visualização Uma pilha é visualizada como uma coleção vertical. Uma fila é visualizada como uma coleção horizontal.