Upload
leinylson-fontinele
View
330
Download
1
Embed Size (px)
Citation preview
Na aula anterior...
Filas Estáticas Sequencial# Propriedades
# Operações fundamentais
13:48 Estrutura de Dados: Aula 06 - Pilhas Estáticas
O que vamos aprender?
Pilhas Estáticas# Propriedades
# Operações fundamentais
13:48 Estrutura de Dados: Aula 06 - Pilhas Estáticas
O que é uma Pilha?
13:48
Uma pilha é uma estrutura de dados em que todo o acesso a seus elementos é feito
através do seu topo
Estrutura de Dados: Aula 06 - Pilhas Estáticas
Operações Básicas em uma Pilha
13:48
Criação da pilha
Inserção de um elemento no início
Remoção de um elemento do início
Aceso ao elemento do início
Destruição da pilhaEstrutura de Dados: Aula 06 - Pilhas Estáticas
Pilha: Características
13:48
O elemento removido é o que está naestrutura há menos tempo
O último objeto inserido na pilha é tambémo primeiro a ser removido
𝐿𝐼𝐹𝑂 (𝐿𝑎𝑠𝑡‐ 𝐼𝑛‐ 𝐹𝑖𝑟𝑠𝑡‐ 𝑂𝑢𝑡)
Estrutura de Dados: Aula 06 - Pilhas Estáticas
Pilha: Índices de Controle da Pilha
13:48Estrutura de Dados: Aula 06 - Pilhas Estáticas
LIMITE
Tamanho máximo que pode ser ocupado pela pilha
TOPO
Atual posição de consulta da pilha
BASE
Ponto de início da pilha
Identificando Palíndromos com Pilha
13:48Estrutura de Dados: Aula 06 - Pilhas Estáticas
Relembrando...
Palíndromos são palavras/frases que são iguais quando lidas de frente para trás
Exemplos: Ana
Arara
Rotor
Socorram me subi no onibus em marrocos
• Desconsiderando os espaços em branco
Identificando Palíndromos
13:48Estrutura de Dados: Aula 06 - Pilhas Estáticas
Descarta letra central
Identificando Palíndromos
13:48Estrutura de Dados: Aula 06 - Pilhas Estáticas
Comparar topo com próxima letra
Identificando Palíndromos
13:48Estrutura de Dados: Aula 06 - Pilhas Estáticas
Se são iguais então desempilhe
Identificando Palíndromos
13:48Estrutura de Dados: Aula 06 - Pilhas Estáticas
Comparar topo com próxima letra
Identificando Palíndromos
13:48Estrutura de Dados: Aula 06 - Pilhas Estáticas
Se são iguais então desempilhe
Se no final a pilha está vazia então é um palíndromo
Balanceamento de Expressões
13:48
Pilhas podem ser utilizadas para verificar seos parênteses em uma expressão estãobalanceadosExemplo:
((3 + 4 + (4 ∗ 9)ERRO: Faltam dois parênteses fechando!
Estrutura de Dados: Aula 06 - Pilhas Estáticas
Chamadas de Funções
13:48
O Sistema Operacional utiliza pilhapara tratar as chamadas a funções
Fazendo uso de recursividade
Estrutura de Dados: Aula 06 - Pilhas Estáticas
Pilha: Implementação em Vetor
13:48
Supondo a pilha está armazenada em um vetor 𝑝𝑖𝑙ℎ𝑎[0. . 𝑛 − 1]
A parte do vetor ocupada pela pilha será:
Estrutura de Dados: Aula 06 - Pilhas Estáticas
Pilha: Implementação em Vetor
13:48
A natureza dos elementos do vetor é irrelevante, eles podem serinteiros, caracteres, ponteiros, etc...
O índice 𝑡 indica a primeira posição vaga da pilha
𝑡1 é o índice do topo da pilha.
A pilha está vazia se 𝑡 = 0 e cheia se 𝑡 = 𝑁
Estrutura de Dados: Aula 06 - Pilhas Estáticas
Pilha: Removendo um Elemento
13:48
Para remover (desempilhar, pop) um elemento:
Estrutura de Dados: Aula 06 - Pilhas Estáticas
Pilha: Inserindo um Elemento
13:48
Para inserir (empilhar, push) o elemento 𝑦 na pilha pilha:
Estrutura de Dados: Aula 06 - Pilhas Estáticas
Nesta aula aprendemos... Pilhas Estáticas
# Propriedades
# Operações fundamentais
13:48 Estrutura de Dados: Aula 06 - Pilhas Estáticas
Material: https://sites.google.com/site/leinylsonnassau
13:48
Material baseado nas aulas de:
Estrutura de dados e algoritmos, Prof. Sérgio Souza Costa
Estrutura de Dados: Aula 06 - Pilhas Estáticas
Na próxima aula veremos...
Prática com listas, filas e pilhas
Arquivos# Teoria e Prática de laboratório
13:48 Estrutura de Dados: Aula 06 - Pilhas Estáticas
Prática
13:48 39
As aulas práticas foram baseadas no material de
Linguagem C Descomplicada , Dr. André R. Backes.
Disponível em: https://programacaodescomplicada.wordpress.com/
Estrutura de Dados: Aula 06 - Pilhas Estáticas
Pilha Estática
13:48
PilhaSequencial.h
Os protótipos das funções
O tipo de dado armazenado na pilha
O ponteiro pilha
Tamanho do vetor usado na pilha
Estrutura de Dados: Aula 06 - Pilhas Estáticas
Pilha Estática
13:48
PilhaSequencial.c
O tipo de dados pilha
Implementar as suas funções
Estrutura de Dados: Aula 06 - Pilhas Estáticas
Criando a Pilha
13:48Estrutura de Dados: Aula 06 - Pilhas Estáticas
1. Definir valor do índice de BASE da pilha
2. Definir valor máximo (LIMITE) de nodos que a pilha pode ter
3. Indicar que a pilha está vazia através do valor de TOPO