Estrutura de Dados
  • Programação e Estrutura de Dados
  • Estrutura de Dados
    • 1. Vetores e Matrizes
      • Vetores
      • Matrizes
      • Listas de Exercícios
    • 2. Listas Lineares
      • Lista Encadeada Simples
      • Lista Duplamente Encadeada
    • 3. Pilhas
      • Visão Geral
      • Operações
        • Criação de Pilhas
        • Inserção de elementos
        • Remoção de elementos
        • Impressão, topo e tamanho da pilha
      • Exemplo
    • 4. Filas
      • Visão Geral
      • Operações
        • Criação das Filas
        • Inserção de Elementos
        • Remoção de Elementos
        • Impressão, inicio e final da fila
      • Exemplo
    • 5. Recursividade
      • Visão geral
      • Exemplos
        • Execução do Algoritmo de Fibonacci Recursivo
    • 6. Algoritmos de Busca
      • Busca Sequencial
      • Busca Binária
      • Exemplos
    • 7. Algoritmos de Ordenação
      • Ordenação
      • Bubble Sort
      • Selection Sort
      • Insertion Sort
      • Merge Sort
      • Quicksort
    • 8. Árvores
      • Introdução
      • Árvores Binárias
      • Árvores Binárias de Busca
      • Árvores AVL
    • 9. Indexação e Hashing
    • 10. Grafos
  • Programação Orientada a Objetos
    • 1. Introdução a Orientação a Objetos
Powered by GitBook
On this page

Was this helpful?

  1. Estrutura de Dados
  2. 3. Pilhas

Visão Geral

Estrutura de Dados: Pilha

Previous3. PilhasNextOperações

Last updated 4 years ago

Was this helpful?

O que vem a nossa mente quando pensamos em pilhas?? Na minha mente, surgem uma estrutura tal como a Fig 1.

Será que essa abstração tem a ver com a ideia de pilhas em estrutura de dados? A resposta é SIM. O funcionamento de uma pilha respeita o funcionamento das pilhas que conhecemos no nosso dia a dia.

O nome pilha é derivado da metáfora de uma pilha de pratos, roupas ou moedas como mencionamos anteriormente. Em uma pilha de blusas por exemplo, as operações fundamentais envolvem "adicionar" e "remover" as blusas em uma longa pilha. Quando precisamos de uma nova blusa, removemos a blusa da parte superior da pilha e, quando adicionamos uma blusa, adicionamos novamente no topo da pilha.

Uma pilha é uma coleção de dados que são inseridos e removidos de acordo com o princípio de "Último a entrar é o Primeiro a sair" (Last In First Out - LIFO). Um usuário pode inserir informações em uma pilha a qualquer momento, mas só pode acessar ou remover o dado inserido mais recentemente que permanece no chamado “topo” da pilha.

E se não quisermos remover ou inserir dados seguindo essa lógica? Neste caso, não estaremos implementando estruturas de pilhas, pois suas regras gerais são desrespeitadas.

Fig 1. Pilha de Moedas