Fala, meus consagrados! Tudo beleza com vocês?
Depois de estudarmos as listas, agora iremos revisar os principais pontos sobre a estrutura de dados pilhas e responder algumas questões.
Teoria
As pilhas, ou stacks em inglês, são tipos abstrados de dados (TAD). São listas especiais que seguem o princípio LIFO (Last-in first-out), onde o último elemento a ser inserido será o primeiro a ser retirado.
Os elementos são adicionados e removidos no topo, ou seja, as pilhas permitem acesso a apenas um item de dados (topo). Ele é o último inserido. Para processar o penúltimo item inserido, deve-se remover o último. Na outra ponta da estrutura, temos a base. Este é o último elemento a ser retirado em uma pilha.
Há um príncipio que as pilhas seguem: LIFO (Last In First Out), ou seja, o último a entrar é o primeiro a sair. Como princípio análogo, temos o FILO (First In Last Out): o primeiro a entrar é o último a sair.
Exemplos de uso:
- Funções recursivas em compiladores;
- Mecanismo de desfazer/refazer dos editores de texto; e
- Navegação entre páginas web.
As pilhas podem ser implementadas de duas formas:
- Forma estática, usando array (vetor); ou
- Forma dinâmica, usando lista encadeada.
Podemos ter as seguintes operações para manipulação de pilhas:
- Criar pilha: informa a capacidade no caso de implementação sequencial (vetor);
- Push (empilhar):
- Adiciona um elemento no topo da pilha;
- O elemento a ser adicionado é o parâmetro desta operação;
- Pop (desempilhar):
- Remove o elemento do topo da pilha;
- Retorna esse elemento;
- Top:
- Mostra o valor do topo;
- Retorna o elemento do topo da pilha sem removê-lo;
- isEmpty: verifica se a pilha está vazia;
- isFull: verifica se a pilha está cheia.
Questões de concursos
[VUNESP 2019 Prefeitura de Itapevi/SP – Analista em Tecnologia da Informação e Comunicação] Uma estrutura de dados apresenta as seguintes características:
- o elemento a ser removido sempre é o que foi inserido mais recentemente na estrutura;
- sua funcionalidade em função do processo de inserção e remoção de elementos é do tipo LIFO (Last-In-First-Out).
Trata-se da estrutura de dados
[A] Fila.
[B] Pilha.
[C] Grafo.
[D] Árvore.
[E] Lista ligada.
Comentários:
As duas características citam as estruturas de dados chamadas pilhas.
Gabarito: letra B.
[SUGEP/UFRPE 2016 UFRPE – Técnico em Tecnologia da Informação] Sobre as estruturas de dados lineares, analise as proposições abaixo.
[1] Uma pilha é uma lista com acesso restrito a apenas uma das extremidades, tanto para inserir quanto para remover.
Comentários:
As pilhas são listas especiais, onde o acesso é feito apenas em um dos lados dessas estruturas: o topo.
Gabarito: CERTO.
[Quadrix 2019 CREA/GO – Analista – TI] Acerca das estruturas homogêneas de dados vetor e matriz e dos conceitos de pilhas, filas e árvores binárias, julgue o item.
As filas são conjuntos de elementos, implementados em diversas linguagens de programação, cujas operações de inserção e remoção são feitas na mesma extremidade.
Comentários:
O texto não trata de filas, que são outro tipo de listas. A descrição trata das pilhas e extremidade citada é o topo delas.
Gabarito: ERRADO.
[Quadrix 2019 CREA/GO – Analista – TI] Acerca das estruturas homogêneas de dados vetor e matriz e dos conceitos de pilhas, filas e árvores binárias, julgue o item.
Nas pilhas, conhecidas também como listas LIFO, a operação de inserção é chamada de empilhamento, enquanto a de exclusão é chamada de desempilhamento.
Comentários:
LIFO é princípio pelo qual as pilhas seguem. A questão também citam as operação de empilhar (push) e desempilhar (pop).
Gabarito: CERTO.
[Quadrix 2019 CRA/PR – Analista Sistema I] No que se refere a vetores, matrizes, filas e árvores binárias, julgue o item.
Nas queues, comumente chamadas de filas, as operações de inserção e de remoção são realizadas na mesma extremidade.
Comentários:
O texto corrigido da questão é:
Nas stacks, comumente chamadas de pilhas, as operações de inserção e de remoção são realizadas na mesma extremidade (topo).
Gabarito: ERRADO.
[IFPE 2019 IFPE – Técnico em Tecnologia da Informação – Desenvolvimento] Sobre estruturas de dados, assinale a alternativa CORRETA. (Marque CERTO ou ERRADO o texto da letra)
[A] Pilhas são tipos de dados abstratos caracterizadas pela política “primeiro a entrar, último a sair”.
Comentários:
A letra traz o princípio análogo ao LIFO: FILO, ou seja, o primeiro a entrar é o último a sair.
Gabarito: CERTO.
[IFMT 2019 IFMT – Técnico de Tecnologia da Informação] Segundo Goodrich; Tamassia; Goldwasser (2013), as pilhas são uma das estruturas de dados mais simples. Contudo, estão entre as mais importantes, pois são amplamente utilizadas de diferentes formas e em aplicações das mais simples às mais sofisticadas.
Analise as sentenças abaixo sobre pilhas, e assinale a afirmação INCORRETA: (Marque CERTO ou ERRADO o texto da letra)
[A] As pilhas são consideradas tipos de dados abstratos.
Comentários:
As pilhas são tipos abstrados de dados. Que possuem informações armazenadas em uma estrutura e uma série de operações para trabalhar com essas informações.
Gabarito: CERTO.
Então é isso!
[]s e até a próxima!
_________________________
Professor Rogerão Araújo