Estrutura de dados Pilhas

Depois de estudarmos as listas, agora iremos revisar os principais pontos sobre a estrutura de dados pilhas e responder algumas questões.

Avatar


30 de março3 min. de leitura

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.

Figura 1: estrutura de 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

Avatar


30 de março3 min. de leitura