SlideShare uma empresa Scribd logo
1 de 10
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 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
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
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 )
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.
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
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
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
DUVIDAS? Aula 03 – FILAS

Mais conteúdo relacionado

Mais procurados (20)

Aula14
Aula14Aula14
Aula14
 
Java 8 - New Features
Java 8 - New FeaturesJava 8 - New Features
Java 8 - New Features
 
Estrutura de dados em Java - Pilhas
Estrutura de dados em Java - PilhasEstrutura de dados em Java - Pilhas
Estrutura de dados em Java - Pilhas
 
Pilha e Fila Dinamica
Pilha e Fila DinamicaPilha e Fila Dinamica
Pilha e Fila Dinamica
 
Estrutura de dados em Java - Filas com lista encadeada
Estrutura de dados em Java - Filas com lista encadeada Estrutura de dados em Java - Filas com lista encadeada
Estrutura de dados em Java - Filas com lista encadeada
 
Estrutura de dados - Filas
Estrutura de dados - FilasEstrutura de dados - Filas
Estrutura de dados - Filas
 
Programação funcional
Programação funcionalProgramação funcional
Programação funcional
 
Estrutura de Dados - Listas Encadeadas
Estrutura de Dados - Listas EncadeadasEstrutura de Dados - Listas Encadeadas
Estrutura de Dados - Listas Encadeadas
 
Estrutura de dados em Java - Filas
Estrutura de dados em Java - FilasEstrutura de dados em Java - Filas
Estrutura de dados em Java - Filas
 
Programação funcional com abap
Programação funcional com abapProgramação funcional com abap
Programação funcional com abap
 
Programação funcional no dia a dia
Programação funcional no dia a diaProgramação funcional no dia a dia
Programação funcional no dia a dia
 
Filas encadeadas
Filas encadeadasFilas encadeadas
Filas encadeadas
 
Pilhas e filas
Pilhas e filasPilhas e filas
Pilhas e filas
 
Pilhas encadeadas
Pilhas encadeadasPilhas encadeadas
Pilhas encadeadas
 
Estrutura de Dados - PILHAS
Estrutura de Dados - PILHASEstrutura de Dados - PILHAS
Estrutura de Dados - PILHAS
 
Pilha
PilhaPilha
Pilha
 
Lp m2(parte4)
Lp m2(parte4)Lp m2(parte4)
Lp m2(parte4)
 
Apostila rpira
Apostila rpiraApostila rpira
Apostila rpira
 
Introdução à linguagem c
Introdução à linguagem cIntrodução à linguagem c
Introdução à linguagem c
 
Programação funcional
Programação funcionalProgramação funcional
Programação funcional
 

Destaque

Aula01 - estrutura de dados
Aula01 - estrutura de dadosAula01 - estrutura de dados
Aula01 - estrutura de dadosAbner Lima
 
[Curso Java Basico] Exercicios Aulas 25 a 27
[Curso Java Basico] Exercicios Aulas 25 a 27[Curso Java Basico] Exercicios Aulas 25 a 27
[Curso Java Basico] Exercicios Aulas 25 a 27Loiane Groner
 
Estrutura de Dados Aula 05 - Filas Estáticas
Estrutura de Dados  Aula 05 - Filas EstáticasEstrutura de Dados  Aula 05 - Filas Estáticas
Estrutura de Dados Aula 05 - Filas EstáticasLeinylson Fontinele
 
Estrutura de Dados Aula 07 - Alocação dinâmica de memória
Estrutura de Dados Aula 07 - Alocação dinâmica de memóriaEstrutura de Dados Aula 07 - Alocação dinâmica de memória
Estrutura de Dados Aula 07 - Alocação dinâmica de memóriaLeinylson Fontinele
 
Microensino de estrutura de dados
Microensino de estrutura de dadosMicroensino de estrutura de dados
Microensino de estrutura de dadosAbner Lima
 

Destaque (10)

Estrutura de dados
Estrutura de dadosEstrutura de dados
Estrutura de dados
 
Pged 06
Pged 06Pged 06
Pged 06
 
Ed1
Ed1Ed1
Ed1
 
Aula01 - estrutura de dados
Aula01 - estrutura de dadosAula01 - estrutura de dados
Aula01 - estrutura de dados
 
[Curso Java Basico] Exercicios Aulas 25 a 27
[Curso Java Basico] Exercicios Aulas 25 a 27[Curso Java Basico] Exercicios Aulas 25 a 27
[Curso Java Basico] Exercicios Aulas 25 a 27
 
Estrutura de Dados Aula 05 - Filas Estáticas
Estrutura de Dados  Aula 05 - Filas EstáticasEstrutura de Dados  Aula 05 - Filas Estáticas
Estrutura de Dados Aula 05 - Filas Estáticas
 
Teoria das Filas
Teoria das FilasTeoria das Filas
Teoria das Filas
 
Estrutura de Dados Aula 07 - Alocação dinâmica de memória
Estrutura de Dados Aula 07 - Alocação dinâmica de memóriaEstrutura de Dados Aula 07 - Alocação dinâmica de memória
Estrutura de Dados Aula 07 - Alocação dinâmica de memória
 
Estruturas de dados
Estruturas de dadosEstruturas de dados
Estruturas de dados
 
Microensino de estrutura de dados
Microensino de estrutura de dadosMicroensino de estrutura de dados
Microensino de estrutura de dados
 

Último

UFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdfUFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdfManuais Formação
 
Prática de interpretação de imagens de satélite no QGIS
Prática de interpretação de imagens de satélite no QGISPrática de interpretação de imagens de satélite no QGIS
Prática de interpretação de imagens de satélite no QGISVitor Vieira Vasconcelos
 
O Universo Cuckold - Compartilhando a Esposas Com Amigo.pdf
O Universo Cuckold - Compartilhando a Esposas Com Amigo.pdfO Universo Cuckold - Compartilhando a Esposas Com Amigo.pdf
O Universo Cuckold - Compartilhando a Esposas Com Amigo.pdfPastor Robson Colaço
 
Currículo escolar na perspectiva da educação inclusiva.pdf
Currículo escolar na perspectiva da educação inclusiva.pdfCurrículo escolar na perspectiva da educação inclusiva.pdf
Currículo escolar na perspectiva da educação inclusiva.pdfIedaGoethe
 
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptxApostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptxIsabelaRafael2
 
Gerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalGerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalJacqueline Cerqueira
 
Investimentos. EDUCAÇÃO FINANCEIRA 8º ANO
Investimentos. EDUCAÇÃO FINANCEIRA 8º ANOInvestimentos. EDUCAÇÃO FINANCEIRA 8º ANO
Investimentos. EDUCAÇÃO FINANCEIRA 8º ANOMarcosViniciusLemesL
 
HORA DO CONTO4_BECRE D. CARLOS I_2023_2024
HORA DO CONTO4_BECRE D. CARLOS I_2023_2024HORA DO CONTO4_BECRE D. CARLOS I_2023_2024
HORA DO CONTO4_BECRE D. CARLOS I_2023_2024Sandra Pratas
 
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptxSlides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptxLuizHenriquedeAlmeid6
 
A galinha ruiva sequencia didatica 3 ano
A  galinha ruiva sequencia didatica 3 anoA  galinha ruiva sequencia didatica 3 ano
A galinha ruiva sequencia didatica 3 anoandrealeitetorres
 
HORA DO CONTO5_BECRE D. CARLOS I_2023_2024
HORA DO CONTO5_BECRE D. CARLOS I_2023_2024HORA DO CONTO5_BECRE D. CARLOS I_2023_2024
HORA DO CONTO5_BECRE D. CARLOS I_2023_2024Sandra Pratas
 
02. Informática - Windows 10 apostila completa.pdf
02. Informática - Windows 10 apostila completa.pdf02. Informática - Windows 10 apostila completa.pdf
02. Informática - Windows 10 apostila completa.pdfJorge Andrade
 
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicasCenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicasRosalina Simão Nunes
 
Habilidades Motoras Básicas e Específicas
Habilidades Motoras Básicas e EspecíficasHabilidades Motoras Básicas e Específicas
Habilidades Motoras Básicas e EspecíficasCassio Meira Jr.
 
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdf
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdfDIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdf
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdfIedaGoethe
 
637743470-Mapa-Mental-Portugue-s-1.pdf 4 ano
637743470-Mapa-Mental-Portugue-s-1.pdf 4 ano637743470-Mapa-Mental-Portugue-s-1.pdf 4 ano
637743470-Mapa-Mental-Portugue-s-1.pdf 4 anoAdelmaTorres2
 
Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029Centro Jacques Delors
 
cartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdf
cartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdfcartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdf
cartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdfIedaGoethe
 

Último (20)

XI OLIMPÍADAS DA LÍNGUA PORTUGUESA -
XI OLIMPÍADAS DA LÍNGUA PORTUGUESA      -XI OLIMPÍADAS DA LÍNGUA PORTUGUESA      -
XI OLIMPÍADAS DA LÍNGUA PORTUGUESA -
 
UFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdfUFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdf
 
Prática de interpretação de imagens de satélite no QGIS
Prática de interpretação de imagens de satélite no QGISPrática de interpretação de imagens de satélite no QGIS
Prática de interpretação de imagens de satélite no QGIS
 
O Universo Cuckold - Compartilhando a Esposas Com Amigo.pdf
O Universo Cuckold - Compartilhando a Esposas Com Amigo.pdfO Universo Cuckold - Compartilhando a Esposas Com Amigo.pdf
O Universo Cuckold - Compartilhando a Esposas Com Amigo.pdf
 
Currículo escolar na perspectiva da educação inclusiva.pdf
Currículo escolar na perspectiva da educação inclusiva.pdfCurrículo escolar na perspectiva da educação inclusiva.pdf
Currículo escolar na perspectiva da educação inclusiva.pdf
 
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptxApostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
 
Gerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalGerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem Organizacional
 
Investimentos. EDUCAÇÃO FINANCEIRA 8º ANO
Investimentos. EDUCAÇÃO FINANCEIRA 8º ANOInvestimentos. EDUCAÇÃO FINANCEIRA 8º ANO
Investimentos. EDUCAÇÃO FINANCEIRA 8º ANO
 
HORA DO CONTO4_BECRE D. CARLOS I_2023_2024
HORA DO CONTO4_BECRE D. CARLOS I_2023_2024HORA DO CONTO4_BECRE D. CARLOS I_2023_2024
HORA DO CONTO4_BECRE D. CARLOS I_2023_2024
 
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptxSlides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
 
A galinha ruiva sequencia didatica 3 ano
A  galinha ruiva sequencia didatica 3 anoA  galinha ruiva sequencia didatica 3 ano
A galinha ruiva sequencia didatica 3 ano
 
HORA DO CONTO5_BECRE D. CARLOS I_2023_2024
HORA DO CONTO5_BECRE D. CARLOS I_2023_2024HORA DO CONTO5_BECRE D. CARLOS I_2023_2024
HORA DO CONTO5_BECRE D. CARLOS I_2023_2024
 
02. Informática - Windows 10 apostila completa.pdf
02. Informática - Windows 10 apostila completa.pdf02. Informática - Windows 10 apostila completa.pdf
02. Informática - Windows 10 apostila completa.pdf
 
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicasCenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
 
Habilidades Motoras Básicas e Específicas
Habilidades Motoras Básicas e EspecíficasHabilidades Motoras Básicas e Específicas
Habilidades Motoras Básicas e Específicas
 
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdf
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdfDIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdf
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdf
 
637743470-Mapa-Mental-Portugue-s-1.pdf 4 ano
637743470-Mapa-Mental-Portugue-s-1.pdf 4 ano637743470-Mapa-Mental-Portugue-s-1.pdf 4 ano
637743470-Mapa-Mental-Portugue-s-1.pdf 4 ano
 
Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029
 
cartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdf
cartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdfcartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdf
cartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdf
 
Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024
Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024
Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024
 

Filas e seus algoritmos ENQUEUE e DEQUEUE

  • 1. MINICURSO DE ESTRUTURA DE DADOS Aula 03 – Filas e seus algoritmos
  • 2. CONTEÚDO DA AULA Conceitos • Filas • Enqueue • Dequeue Algoritmos Exercícios •Operações com pilhas
  • 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. 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. 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. 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. 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. 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. 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. DUVIDAS? Aula 03 – FILAS