MINICURSO DE 
ESTRUTURA DE DADOS 
Aula 03 – Filas e seus 
algoritmos
CONTEÚDO DA AULA 
Conceitos • Filas 
• Enqueue 
• Dequeue Algoritmos 
Exercícios •Operações com pilhas
CONCEITOS 
Filas 
• A estrutura de dados fila é também uma variação do deque. 
• A fila implementa a seguinte norma: O pri...
CARACTERÍSTICAS DAS PILHAS 
Formas de 
armazenamento 
• Em vetores 
• Ponteiros  um ponteiro indica o início da fila 
e o...
EXEMPLO DE OPERAÇÃO EM UMA 
FILA Q 
Fila vazia 
ENQUEUE(Q,A) 
- - - - - - - - - A 
5 4 3 2 
1 
i = f = 0 
5 4 3 2 
1 
i = ...
CONTINUAÇÃO DO EXEMPLO 
ENQUEUE(Q,C) 
DEQUEUE(Q) 
- - C B - - - C - - 
5 4 3 2 
1 
i = 2; f = 3 
5 4 3 2 
1 
i = f = 1; 
D...
O ALGORITMO ENQUEUE(Q,X) 
•O algoritmo ENQUEUE(Q,x) realiza o enfileiramento, ou seja, ele insere 
um elemento no final da...
O ALGORITMO DEQUEUE(Q) 
•O algoritmo DEQUEUE(Q) realiza o desinfileiramento, ou seja, ele remove um elemento 
no início da...
EXERCÍCIO 
1. Utilizando o modelo de fila exemplo passado, ilustre o resultado 
de cada operação na sequência ENQUEUE(Q,4)...
DUVIDAS? Aula 03 – FILAS
Próximos SlideShares
Carregando em…5
×

Aula03 Filas

421 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
421
No SlideShare
0
A partir de incorporações
0
Número de incorporações
133
Ações
Compartilhamentos
0
Downloads
2
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Aula03 Filas

  1. 1. MINICURSO DE ESTRUTURA DE DADOS Aula 03 – Filas e seus algoritmos
  2. 2. CONTEÚDO DA AULA Conceitos • Filas • Enqueue • Dequeue Algoritmos Exercícios •Operações com pilhas
  3. 3. CONCEITOS Filas • A estrutura de dados fila é também uma variação do deque. • A fila implementa a seguinte norma: O primeiro a entrar é o primeiro a sair, ou FIFO (first in first out) • A fila é uma lista em que todas as inserções ocorrem em uma das extremidades e todas as remoções ocorrem na outra • INICIO: extremidade onde ocorrem as remoções • FIM: extremidade onde ocorrem as inserções
  4. 4. CARACTERÍSTICAS DAS PILHAS Formas de armazenamento • Em vetores • Ponteiros  um ponteiro indica o início da fila e outro indica o final da fila Operações básicas • Inserir um elemento(enfileirar) – ENQUEUE(Q,x) • Remover um elemento(desnfileirar) – DEQUEUE(Q) Operações inválidas • Inserção em fila cheia – OVERFLOW • Remoção em fila vazia – UNDERFLOW
  5. 5. EXEMPLO DE OPERAÇÃO EM UMA FILA Q Fila vazia ENQUEUE(Q,A) - - - - - - - - - A 5 4 3 2 1 i = f = 0 5 4 3 2 1 i = f = 1 ENQUEUE(Q,B) DEQUEUE(Q) - - - B A - - - B - 5 4 3 2 1 5 4 3 2 1 i = 1; f = 2 i = f = 2 A figura acima ilustra algumas operações na fila Q, utilizando os algoritmos e os ponteiros i (início da fila) e f (fim da fila )
  6. 6. CONTINUAÇÃO DO EXEMPLO ENQUEUE(Q,C) DEQUEUE(Q) - - C B - - - C - - 5 4 3 2 1 i = 2; f = 3 5 4 3 2 1 i = f = 1; DEQUEUE(Q) DEQUEUE(Q) - - - - - - - - - - 5 4 3 2 1 5 4 3 2 1 i = 1; f = 2 i = f = 2 Observe que na última operação ocorre uma erro de UNDERFLOW, onde a fila já se encontra vazia e mesmo assim é dado o comando de desinfileirar.
  7. 7. O ALGORITMO ENQUEUE(Q,X) •O algoritmo ENQUEUE(Q,x) realiza o enfileiramento, ou seja, ele insere um elemento no final da fila. Conceito •ENQUEUE(Q,x) • Q[fim[Q]  x • if fim[Q] = comprimento[Q] • then fim[Q]  1 • else fim[Q]  fim[Q + 1] Código
  8. 8. O ALGORITMO DEQUEUE(Q) •O algoritmo DEQUEUE(Q) realiza o desinfileiramento, ou seja, ele remove um elemento no início da fila. Conceito •DEQUEUE(Q) •X  Q[inicio[Q] • if inicio[Q] = comprimento[Q] • then inicio[Q]  1 • else inicio[Q]  inicio[Q + 1] •Return x Código
  9. 9. EXERCÍCIO 1. Utilizando o modelo de fila exemplo passado, ilustre o resultado de cada operação na sequência ENQUEUE(Q,4), ENQUEUE(Q,1), ENQUEUE(Q,3), DEQUEUE(Q), ENQUEUE(Q,8), DEQUEUE(Q), sobre uma fila Q inicialmente vazia armazenada num arranjo[1 .. 5]. 2. Reescreva dos algoritmos ENQUEUE(Q,x) e DEQUEUE(Q) de modo que seja feita a verificação de Overflow e Underflow
  10. 10. DUVIDAS? Aula 03 – FILAS

×