estrutura de dados - aula 06 - pilhas estáticas

Post on 13-Apr-2017

119 Views

Category:

Education

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

# Estrutura de Dados #Aula 06 – Pilhas Estáticas

Prof. Leinylson Fontinele Pereira

Na aula anterior...

Filas Estáticas Sequencial# Propriedades

# Operações fundamentais

12:05 Estrutura de Dados: Aula 06 - Pilhas Estáticas

Introdução

12:05 3 Estrutura de Dados: Aula 06 - Pilhas Estáticas

O que vamos aprender?

Pilhas Estáticas# Propriedades

# Operações fundamentais

12:05 Estrutura de Dados: Aula 06 - Pilhas Estáticas

Vamos começar?

12:05 5 Estrutura de Dados: Aula 06 - Pilhas Estáticas

12:05

O que é uma Pilha?

Estrutura de Dados: Aula 06 - Pilhas Estáticas

12:05

Algumas Pilhas...

Estrutura de Dados: Aula 06 - Pilhas Estáticas

O que é uma Pilha?

12:05

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

12:05

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

12:05

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

12:05Estrutura 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

Executando as Operações na Pilha

12:05Estrutura de Dados: Aula 06 - Pilhas Estáticas

Executando as Operações na Pilha

12:05Estrutura de Dados: Aula 06 - Pilhas Estáticas

Aplicações com Pilha

12:05 14 Estrutura de Dados: Aula 06 - Pilhas Estáticas

Identificando Palíndromos com Pilha

12:05Estrutura 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 com Pilha

12:05Estrutura de Dados: Aula 06 - Pilhas Estáticas

Algoritmo

Identificando Palíndromos

12:05Estrutura de Dados: Aula 06 - Pilhas Estáticas

Identificando Palíndromos

12:05Estrutura de Dados: Aula 06 - Pilhas Estáticas

Empilha letra 1

Identificando Palíndromos

12:05Estrutura de Dados: Aula 06 - Pilhas Estáticas

Empilha letra 2

Identificando Palíndromos

12:05Estrutura de Dados: Aula 06 - Pilhas Estáticas

Descarta letra central

Identificando Palíndromos

12:05Estrutura de Dados: Aula 06 - Pilhas Estáticas

Comparar topo com próxima letra

Identificando Palíndromos

12:05Estrutura de Dados: Aula 06 - Pilhas Estáticas

Se são iguais então desempilhe

Identificando Palíndromos

12:05Estrutura de Dados: Aula 06 - Pilhas Estáticas

Comparar topo com próxima letra

Identificando Palíndromos

12:05Estrutura 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

12:05

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

Balanceamento de Expressões

12:05Estrutura de Dados: Aula 06 - Pilhas Estáticas

((𝟑 + 𝟒 + (𝟒 ∗ 𝟗)

Chamadas de Funções

12:05

O Sistema Operacional utiliza pilhapara tratar as chamadas a funções

Fazendo uso de recursividade

Estrutura de Dados: Aula 06 - Pilhas Estáticas

12:05

Entenderam o conceito da Pilha?

Estrutura de Dados: Aula 06 - Pilhas Estáticas

Pilha: Implementação em Vetor

12:05

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

12:05

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

12:05Estrutura de Dados: Aula 05 - Filas Estáticas

Pilha: Removendo um Elemento

12:05

Para remover (desempilhar, pop) um elemento:

Estrutura de Dados: Aula 06 - Pilhas Estáticas

Pilha: Inserindo um Elemento

12:05Estrutura de Dados: Aula 06 - Pilhas Estáticas

Pilha: Inserindo um Elemento

12:05

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

12:05 Estrutura de Dados: Aula 06 - Pilhas Estáticas

Material: https://sites.google.com/site/leinylsonuespi

12:05

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

12:05 Estrutura de Dados: Aula 06 - Pilhas Estáticas

Alguma Dúvida?

12:05

Até a próxima aula...

leinylson@gmail.com

Prática

12:05 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

12:05

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

12:05

PilhaSequencial.c

O tipo de dados pilha

Implementar as suas funções

Estrutura de Dados: Aula 06 - Pilhas Estáticas

12:05 42

Definindo a Pilha

Estrutura de Dados: Aula 06 - Pilhas Estáticas

Definindo a Pilha

12:05Estrutura de Dados: Aula 06 - Pilhas Estáticas

12:05 44

Criando a Pilha

Estrutura de Dados: Aula 06 - Pilhas Estáticas

Criando a Pilha

12:05Estrutura 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

Criando a Pilha

12:05Estrutura de Dados: Aula 06 - Pilhas Estáticas

Criando a Pilha

12:05Estrutura de Dados: Aula 06 - Pilhas Estáticas

12:05 48

Destruindo a Pilha

Estrutura de Dados: Aula 06 - Pilhas Estáticas

Destruindo a Pilha

12:05Estrutura de Dados: Aula 06 - Pilhas Estáticas

12:05 50

Tamanho da Pilha

Estrutura de Dados: Aula 06 - Pilhas Estáticas

Tamanho da Pilha

12:05Estrutura de Dados: Aula 06 - Pilhas Estáticas

12:05 52

A Pilha está Cheia?

Estrutura de Dados: Aula 06 - Pilhas Estáticas

Pilha Cheia

12:05Estrutura de Dados: Aula 06 - Pilhas Estáticas

12:05 54

A Pilha está Vazia?

Estrutura de Dados: Aula 06 - Pilhas Estáticas

Pilha Vazia

12:05Estrutura de Dados: Aula 06 - Pilhas Estáticas

12:05 56

Algumas Considerações

Estrutura de Dados: Aula 06 - Pilhas Estáticas

Algumas Considerações

12:05Estrutura de Dados: Aula 06 - Pilhas Estáticas

12:05 58

Inserindo na Pilha

Estrutura de Dados: Aula 06 - Pilhas Estáticas

Inserindo na Pilha

12:05Estrutura de Dados: Aula 06 - Pilhas Estáticas

Inserindo na Pilha

12:05Estrutura de Dados: Aula 06 - Pilhas Estáticas

12:05 61

Removendo da Pilha

Estrutura de Dados: Aula 06 - Pilhas Estáticas

Removendo da Pilha

12:05Estrutura de Dados: Aula 06 - Pilhas Estáticas

Removendo da Pilha

12:05Estrutura de Dados: Aula 06 - Pilhas Estáticas

12:05 64

Consultando um elemento na Pilha

Estrutura de Dados: Aula 06 - Pilhas Estáticas

Consultando um elemento na Pilha

12:05Estrutura de Dados: Aula 06 - Pilhas Estáticas

Consultando um elemento na Pilha

12:05Estrutura de Dados: Aula 06 - Pilhas Estáticas

top related