Aula 3 - Filas

download Aula 3 - Filas

of 35

Transcript of Aula 3 - Filas

  • Pilhas/Filas

    Annabell D.R. Tamariz

    Informaes damatria

    FilaConceitos

    Operaes

    Implementao Seqencial

    Implementao Circular

    Implementao com ListaEncadeada

    Exerccios

    Simulao de Pilhas

    Prxima Aula....

    3.1

    Captulo 3Pilhas/FilasFila

    Aulas de Estrutura de Dados I

    Annabell D.R. TamarizLCMAT-CCI

    www.lcmat.uenf.br/professores/annabellUniversidade Estadual do Norte Fluminense - UENF

  • Pilhas/Filas

    Annabell D.R. Tamariz

    Informaes damatria

    FilaConceitos

    Operaes

    Implementao Seqencial

    Implementao Circular

    Implementao com ListaEncadeada

    Exerccios

    Simulao de Pilhas

    Prxima Aula....

    3.2

    Ementa

    Abstrao de Dados. Alocao Esttica e Dinmica. Listas lineares. Pilhas e Filas:

    Conceito Operaes Implementao seqencial Implementao circular Implementao com lista encadeada Exerccios.

    Algoritmos Recursivos. Matrizes esparsas. Listas Generalizadas. Algoritmos de classificao e busca.

  • Pilhas/Filas

    Annabell D.R. Tamariz

    Informaes damatria

    FilaConceitos

    Operaes

    Implementao Seqencial

    Implementao Circular

    Implementao com ListaEncadeada

    Exerccios

    Simulao de Pilhas

    Prxima Aula....

    3.3

    Contedo Programtico

    1 FilaConceitosOperaesImplementao SeqencialImplementao CircularImplementao com Lista EncadeadaExerccios

    2 Simulao de Pilhas

    3 Prxima Aula....

  • Pilhas/Filas

    Annabell D.R. Tamariz

    Informaes damatria

    FilaConceitos

    Operaes

    Implementao Seqencial

    Implementao Circular

    Implementao com ListaEncadeada

    Exerccios

    Simulao de Pilhas

    Prxima Aula....

    3.4

    Fila - Conceitos

  • Pilhas/Filas

    Annabell D.R. Tamariz

    Informaes damatria

    FilaConceitos

    Operaes

    Implementao Seqencial

    Implementao Circular

    Implementao com ListaEncadeada

    Exerccios

    Simulao de Pilhas

    Prxima Aula....

    3.5

    Fila - Conceitos

    Definio de Fila

    Um conjunto ordenado de elementos Primeiro elemento introduzido o primeiro a sair Ultimo introduzido o ultimo a sair.

    Tambm chamada de lista FIFO (First In/First Out) Uma fila uma lista para qual os elementos so sempre

    acrescentados numa extremidade (final) e sempreremovidos na outra extremidade (inicio)

  • Pilhas/Filas

    Annabell D.R. Tamariz

    Informaes damatria

    FilaConceitos

    Operaes

    Implementao Seqencial

    Implementao Circular

    Implementao com ListaEncadeada

    Exerccios

    Simulao de Pilhas

    Prxima Aula....

    3.6

    Fila - Operaes

    Operaes (F sendo uma fila e x um elemento)

    enqueue(F,x) - Acrescenta o elemento x na fila F (otamanho de F aumenta)

    dequeue (F) - Remove e retorna o primeiro elemento dafila (o tamanho de F diminui)

    vazia(F) - Verifica se a fila est vazia (no tem nenhumelemento nela)

    inicializa(F) - Inicializa a fila para receber elementos.Uma fila inicializada no estado vazia.

    cheia(F) - Verifica se a fila est cheia (no pode aceitarmais elementos)

    Nota: vazia e cheia no so opostos

  • Pilhas/Filas

    Annabell D.R. Tamariz

    Informaes damatria

    FilaConceitos

    Operaes

    Implementao Seqencial

    Implementao Circular

    Implementao com ListaEncadeada

    Exerccios

    Simulao de Pilhas

    Prxima Aula....

    3.7

    Fila - implementao seqencial

  • Pilhas/Filas

    Annabell D.R. Tamariz

    Informaes damatria

    FilaConceitos

    Operaes

    Implementao Seqencial

    Implementao Circular

    Implementao com ListaEncadeada

    Exerccios

    Simulao de Pilhas

    Prxima Aula....

    3.8

    Fila - implementao seqencial

    Declarao

  • Pilhas/Filas

    Annabell D.R. Tamariz

    Informaes damatria

    FilaConceitos

    Operaes

    Implementao Seqencial

    Implementao Circular

    Implementao com ListaEncadeada

    Exerccios

    Simulao de Pilhas

    Prxima Aula....

    3.9

    Fila - implementao seqencial

    Declarao

  • Pilhas/Filas

    Annabell D.R. Tamariz

    Informaes damatria

    FilaConceitos

    Operaes

    Implementao Seqencial

    Implementao Circular

    Implementao com ListaEncadeada

    Exerccios

    Simulao de Pilhas

    Prxima Aula....

    3.10

    Fila - implementao seqencial

    Declarao

  • Pilhas/Filas

    Annabell D.R. Tamariz

    Informaes damatria

    FilaConceitos

    Operaes

    Implementao Seqencial

    Implementao Circular

    Implementao com ListaEncadeada

    Exerccios

    Simulao de Pilhas

    Prxima Aula....

    3.11

    Fila - implementao seqencial

    Declarao

  • Pilhas/Filas

    Annabell D.R. Tamariz

    Informaes damatria

    FilaConceitos

    Operaes

    Implementao Seqencial

    Implementao Circular

    Implementao com ListaEncadeada

    Exerccios

    Simulao de Pilhas

    Prxima Aula....

    3.12

    Fila - implementao seqencial

    Problemas !!!!

    O problema a resolver no momento passa a ser: comoreaproveitar as posies do vetor que forem ficandovazias?

    Reflita sobre essa questo, antes de prosseguir. Tentedesenvolver sua prpria soluo.

    Possvel Soluo....

    Vetor circular existe ou fruto de nossa imaginao? fruto de nossa imaginao mesmo. Todas essas

    representaes, ou seja, todos esses desenhos queestamos fazendo, so apenas representaes abstratas.S existem em nossa imaginao.

    Voc nunca conseguir ver, tocar ou cheirar um vetor,nem reto nem circular.

  • Pilhas/Filas

    Annabell D.R. Tamariz

    Informaes damatria

    FilaConceitos

    Operaes

    Implementao Seqencial

    Implementao Circular

    Implementao com ListaEncadeada

    Exerccios

    Simulao de Pilhas

    Prxima Aula....

    3.12

    Fila - implementao seqencial

    Problemas !!!!

    O problema a resolver no momento passa a ser: comoreaproveitar as posies do vetor que forem ficandovazias?

    Reflita sobre essa questo, antes de prosseguir. Tentedesenvolver sua prpria soluo.

    Possvel Soluo....

    Vetor circular existe ou fruto de nossa imaginao? fruto de nossa imaginao mesmo. Todas essas

    representaes, ou seja, todos esses desenhos queestamos fazendo, so apenas representaes abstratas.S existem em nossa imaginao.

    Voc nunca conseguir ver, tocar ou cheirar um vetor,nem reto nem circular.

  • Pilhas/Filas

    Annabell D.R. Tamariz

    Informaes damatria

    FilaConceitos

    Operaes

    Implementao Seqencial

    Implementao Circular

    Implementao com ListaEncadeada

    Exerccios

    Simulao de Pilhas

    Prxima Aula....

    3.13

    Fila - implementao seqencial

    Possvel Soluo....

    Logo, podemos imaginar um vetor reto, e podemosimaginar tambm um vetor torto, ou circular.

    Na computao, trabalhamos com elementos abstratos.Se estiver confuso, leia novamente, os significados dotermo abstrato.

  • Pilhas/Filas

    Annabell D.R. Tamariz

    Informaes damatria

    FilaConceitos

    Operaes

    Implementao Seqencial

    Implementao Circular

    Implementao com ListaEncadeada

    Exerccios

    Simulao de Pilhas

    Prxima Aula....

    3.14

    Fila - implementao seqencial

    Representao

  • Pilhas/Filas

    Annabell D.R. Tamariz

    Informaes damatria

    FilaConceitos

    Operaes

    Implementao Seqencial

    Implementao Circular

    Implementao com ListaEncadeada

    Exerccios

    Simulao de Pilhas

    Prxima Aula....

    3.15

    Fila - implementao circular

    Declarao

  • Pilhas/Filas

    Annabell D.R. Tamariz

    Informaes damatria

    FilaConceitos

    Operaes

    Implementao Seqencial

    Implementao Circular

    Implementao com ListaEncadeada

    Exerccios

    Simulao de Pilhas

    Prxima Aula....

    3.16

    Fila - implementao circular

    Declarao

  • Pilhas/Filas

    Annabell D.R. Tamariz

    Informaes damatria

    FilaConceitos

    Operaes

    Implementao Seqencial

    Implementao Circular

    Implementao com ListaEncadeada

    Exerccios

    Simulao de Pilhas

    Prxima Aula....

    3.17

    Fila - implementao circular

    Soluo com Indicador de Total de Elementos

    Na soluo com vetor circular, podemos diferenciar a condiode fila vazia da condio de fila cheia criando uma novavarivel, que armazena o total de elementos, conforme aFigura a seguir.

  • Pilhas/Filas

    Annabell D.R. Tamariz

    Informaes damatria

    FilaConceitos

    Operaes

    Implementao Seqencial

    Implementao Circular

    Implementao com ListaEncadeada

    Exerccios

    Simulao de Pilhas

    Prxima Aula....

    3.18

    Fila - implementao circular

    Problemas

  • Pilhas/Filas

    Annabell D.R. Tamariz

    Informaes damatria

    FilaConceitos

    Operaes

    Implementao Seqencial

    Implementao Circular

    Implementao com ListaEncadeada

    Exerccios

    Simulao de Pilhas

    Prxima Aula....

    3.19

    Fila - implementao circular

    Declarao

  • Pilhas/Filas

    Annabell D.R. Tamariz

    Informaes damatria

    FilaConceitos

    Operaes

    Implementao Seqencial

    Implementao Circular

    Implementao com ListaEncadeada

    Exerccios

    Simulao de Pilhas

    Prxima Aula....

    3.20

    Fila - implementao circular

    Declarao

  • Pilhas/Filas

    Annabell D.R. Tamariz

    Informaes damatria

    FilaConceitos

    Operaes

    Implementao Seqencial

    Implementao Circular

    Implementao com ListaEncadeada

    Exerccios

    Simulao de Pilhas

    Prxima Aula....

    3.21

    Fila - implementao circular

    Declarao

  • Pilhas/Filas

    Annabell D.R. Tamariz

    Informaes damatria

    FilaConceitos

    Operaes

    Implementao Seqencial

    Implementao Circular

    Implementao com ListaEncadeada

    Exerccios

    Simulao de Pilhas

    Prxima Aula....

    3.22

    Fila - implementao circular

    Declarao

  • Pilhas/Filas

    Annabell D.R. Tamariz

    Informaes damatria

    FilaConceitos

    Operaes

    Implementao Seqencial

    Implementao Circular

    Implementao com ListaEncadeada

    Exerccios

    Simulao de Pilhas

    Prxima Aula....

    3.23

    Fila - implementao circular

    Declarao

  • Pilhas/Filas

    Annabell D.R. Tamariz

    Informaes damatria

    FilaConceitos

    Operaes

    Implementao Seqencial

    Implementao Circular

    Implementao com ListaEncadeada

    Exerccios

    Simulao de Pilhas

    Prxima Aula....

    3.24

    Fila - Lista Encadeada

    Definio

    Para implementar uma fila com uma lista encadeada, adefinio de lista que usamos at agora no se adaptabem.

    A fila precisa ter acesso nas suas duas extremidades(uma para acrescentar elementos, outra para tir-los).

    Por isso mais fcil usar uma lista encadeada com doisponteiros.

  • Pilhas/Filas

    Annabell D.R. Tamariz

    Informaes damatria

    FilaConceitos

    Operaes

    Implementao Seqencial

    Implementao Circular

    Implementao com ListaEncadeada

    Exerccios

    Simulao de Pilhas

    Prxima Aula....

    3.25

    Fila - Lista Encadeada

    Declarao

  • Pilhas/Filas

    Annabell D.R. Tamariz

    Informaes damatria

    FilaConceitos

    Operaes

    Implementao Seqencial

    Implementao Circular

    Implementao com ListaEncadeada

    Exerccios

    Simulao de Pilhas

    Prxima Aula....

    3.26

    Fila - Lista Encadeada

    Declarao

  • Pilhas/Filas

    Annabell D.R. Tamariz

    Informaes damatria

    FilaConceitos

    Operaes

    Implementao Seqencial

    Implementao Circular

    Implementao com ListaEncadeada

    Exerccios

    Simulao de Pilhas

    Prxima Aula....

    3.27

    Fila - Lista Encadeada

    Declarao

  • Pilhas/Filas

    Annabell D.R. Tamariz

    Informaes damatria

    FilaConceitos

    Operaes

    Implementao Seqencial

    Implementao Circular

    Implementao com ListaEncadeada

    Exerccios

    Simulao de Pilhas

    Prxima Aula....

    3.28

    Fila - Lista Encadeada

    Declarao

  • Pilhas/Filas

    Annabell D.R. Tamariz

    Informaes damatria

    FilaConceitos

    Operaes

    Implementao Seqencial

    Implementao Circular

    Implementao com ListaEncadeada

    Exerccios

    Simulao de Pilhas

    Prxima Aula....

    3.29

    Exerccios em sala de Aula

    1 Mostre os estados de uma fila depois de cada operao aseguir. Considerando que a fila tem 5 posies, em queestado(s) ela est vazia ou cheia?

    inicializa(&F); enqueue(&F,a); enqueue(&F,dequeue(&F)) dequeue(&F); vazia(F); enqueue(&F,b); enqueue(&F,c)

    2 Escrever um programa que tendo duas listas uma comimplementao casa vazia e outra contador, transferetodos os dados de uma para outra.

    3 Como poderamos implementar uma estrutura semelhantea uma fila usando duas pilhas? (Definir a estrutura dedados e as funes bsicas da fila)

  • Pilhas/Filas

    Annabell D.R. Tamariz

    Informaes damatria

    FilaConceitos

    Operaes

    Implementao Seqencial

    Implementao Circular

    Implementao com ListaEncadeada

    Exerccios

    Simulao de Pilhas

    Prxima Aula....

    3.30

    Exerccios em sala de Aula

    1 Implementar outros tipos de fila:1 Fila com prioridade onde os elementos tm uma prioridade

    e esto inseridos no lugar certo dentro da fila (e noautomaticamente no final). As funes so as mesmas,mas o enqueue precisa mais um parmetro:enqueue(&aFila,oElemento,aPrioridade).

    2 Fila dupla onde os elementos esto inseridos e extradosdos dois lados da fila. As funes enqueue e dequeueprecisam de mais um parmetro para indicar qualextremidade da fila queremos usarenqueue(&aFila,oElemento,Extremidade1ou2)dequeue(&aFila,oElemento,Extremidade1ou2)

  • Pilhas/Filas

    Annabell D.R. Tamariz

    Informaes damatria

    FilaConceitos

    Operaes

    Implementao Seqencial

    Implementao Circular

    Implementao com ListaEncadeada

    Exerccios

    Simulao de Pilhas

    Prxima Aula....

    3.31

    Pilha - Operaes: Criar e Vaziar

    Vide arquivo: s62.ppt

  • Pilhas/Filas

    Annabell D.R. Tamariz

    Informaes damatria

    FilaConceitos

    Operaes

    Implementao Seqencial

    Implementao Circular

    Implementao com ListaEncadeada

    Exerccios

    Simulao de Pilhas

    Prxima Aula....

    3.32

    Empilhamento

    Vide arquivo: s63.ppt

    Vide arquivo: s64.ppt

  • Pilhas/Filas

    Annabell D.R. Tamariz

    Informaes damatria

    FilaConceitos

    Operaes

    Implementao Seqencial

    Implementao Circular

    Implementao com ListaEncadeada

    Exerccios

    Simulao de Pilhas

    Prxima Aula....

    3.32

    Empilhamento

    Vide arquivo: s63.ppt

    Vide arquivo: s64.ppt

  • Pilhas/Filas

    Annabell D.R. Tamariz

    Informaes damatria

    FilaConceitos

    Operaes

    Implementao Seqencial

    Implementao Circular

    Implementao com ListaEncadeada

    Exerccios

    Simulao de Pilhas

    Prxima Aula....

    3.33

    Prxima aula ...

    1 Recursividade.2 Listas Generalizadas.

    Informaes da matriaFilaConceitosOperaesImplementao SeqencialImplementao CircularImplementao com Lista EncadeadaExerccios

    Simulao de PilhasPrxima Aula....