MINICURSO DE 
ESTRUTURA DE DADOS 
Aula 02 – Pilhas e seus 
algoritmos
CONTEÚDO DA AULA 
Conceitos •Pilhas 
•Stack-empty 
•Push 
•Pop 
Algoritmos 
Exercícios •Operações com pilhas
CONCEITOS 
Pilhas 
•Como passado na aula anterior pilha é 
uma variação de deque. 
• A pilha implementa a seguinte norma: ...
CARACTERÍSTICAS DAS PILHAS 
Formas de 
armazenamento 
• Em vetores 
• Ponteiros ( um ponteiro indica o topo da pilha ) 
Op...
EXEMPLO DE OPERAÇÃO EM 
PILHAS 
Índice da 
pilha S 
5 
4 
3 
2 
1 
Inicial: 
pilha vazia 
- 
- 
- 
- 
- 
PUSH(S,a) 
- 
- 
...
O ALGORITMO STACK-EMPTY(S) 
• O algoritmo STACK-EMPTY(S) serve para consultar se a 
lista está vazia visando evitar proble...
O ALGORITMO PUSH(S,X) 
• O algoritmo PUSH(S, x) realiza o 
procedimento de empilhamento, ou seja, 
insere um elemento na e...
O ALGORITMO POP(S) 
•O algoritmo POP(S) realiza o procedimento de desempilhamento, ou 
seja, remove um elemento na estrutu...
EXERCÍCIO 
Utilizando o modelo de pilha do exemplo passado, ilustre o resultado 
de cada operação na sequência PUSH(S,4), ...
DUVIDAS? Aula 02 – Pilhas
Próximos SlideShares
Carregando em…5
×

Aula02 Pilhas

448 visualizações

Publicada em

Trabalho apresentado na disciplina de docência no ensino superior - PPGCC - IFCE

Publicada em: Educação
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
448
No SlideShare
0
A partir de incorporações
0
Número de incorporações
129
Ações
Compartilhamentos
0
Downloads
3
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Aula02 Pilhas

  1. 1. MINICURSO DE ESTRUTURA DE DADOS Aula 02 – Pilhas e seus algoritmos
  2. 2. CONTEÚDO DA AULA Conceitos •Pilhas •Stack-empty •Push •Pop Algoritmos Exercícios •Operações com pilhas
  3. 3. CONCEITOS Pilhas •Como passado na aula anterior pilha é uma variação de deque. • A pilha implementa a seguinte norma: O último a entrar é o primeiro a sair, ou LIFO (last in first out).
  4. 4. CARACTERÍSTICAS DAS PILHAS Formas de armazenamento • Em vetores • Ponteiros ( um ponteiro indica o topo da pilha ) Operações básicas • Verificar se lista está vazia – STACK-EMPTY(S) • Retornar o índice do topo – TOPO(S) • Inserir um elemento(empilhar) – PUSH(S,x) • Remover um elemento(desempilhar) – POP(S) Operações inválidas • Inserção em pilha cheia – OVERFLOW • Remoção em pilha vazia – UNDERFLOW
  5. 5. EXEMPLO DE OPERAÇÃO EM PILHAS Índice da pilha S 5 4 3 2 1 Inicial: pilha vazia - - - - - PUSH(S,a) - - - - A PUSH(S,b) - - - B A POP(S) - - - - A PUSH(S,c) - - - C A POP(S) - - - - A POP(S) - - - - - POP(S) - - - - - A figura acima ilustra algumas operações na pilha S, utilizando os algoritmos de empilhamento(PUSH) e desempilhamento (POP). Observe que na última operação ocorre uma erro de UNDERFLOW, onde a pilha já se encontra vazia e mesmo assim é dado o comando de desempilhar.
  6. 6. O ALGORITMO STACK-EMPTY(S) • O algoritmo STACK-EMPTY(S) serve para consultar se a lista está vazia visando evitar problemas de UNDERFLOW. Conceito • STACK-EMPTY(S) • If topo[S] = 0 • then return TRUE • else return FALSE Código
  7. 7. O ALGORITMO PUSH(S,X) • O algoritmo PUSH(S, x) realiza o procedimento de empilhamento, ou seja, insere um elemento na estrutura. Conceito • PUSH(S,x) • topo[S]  topo[S + 1] • S[topo[S]]  x Código
  8. 8. O ALGORITMO POP(S) •O algoritmo POP(S) realiza o procedimento de desempilhamento, ou seja, remove um elemento na estrutura. Conceito •POP(S) • if STACK-EMPTY(S) • then error “underflow” • else topo[S]  topo[S - 1] • return S[topo[S] + 1 Código
  9. 9. EXERCÍCIO Utilizando o modelo de pilha do exemplo passado, ilustre o resultado de cada operação na sequência PUSH(S,4), PUSH(S,1), PUSH(S,3), POP(S), PUSH(S,8), POP(S) sobre uma pilha S inicialmente vazia armazenada num arranjo[1 .. 5].
  10. 10. DUVIDAS? Aula 02 – Pilhas

×