Professor Ulisses Vasconcelos

Slides:



Advertisements
Apresentações semelhantes
LISTAS Dilvan Moreira, parcialmente baseado em material do prof. Ricardo Campello.
Advertisements

Índice Estrutura de Dados Pilhas 2010 Renan Robson Lima Carneiro
Marco Antonio Montebello Júnior
Fila by Aquiles Burlamaqui
Pilhas e Filas CONTEÚDO (1) Pilhas (2) Filas.
Programação Avançada I
Listas encadeadas Prof. Rosana Palazon.
Algoritmos de manipulação de estruturas elementares de dados
Programação II Estruturas de Dados
Estrutura de Dados e Algoritmos e Programação e Computadores II
ESTRUTURAS DO TIPO FILA
Linguagens de Programação Orientadas a Objetos
Universidade Federal do Pará Serviço Público Federal Centro de Ciências Exatas e Naturais Departamento de Informática Abril/2001.
Monitores.
David Menotti Algoritmos e Estruturas de Dados I DECOM – UFOP
Aula T12 – BCC202 Listas Túlio Toffolo
Listas lineares Listas Lineares Fila Dupla Pilha Fila Saída restrita
AED – Algoritmos e Estruturas de Dados
FILAS (Queues) Estrutura linear de acesso seqüencial que ordena seus elementos pela seqüência cronológica de sua entrada; Estrutura FIFO (First In First.
Prof.: Sergio Pacheco Estruturas de Dados I Prof.: Sergio Pacheco 1.
Estrutura de dados Busca
Robson Godoi / Sandra Siebra
GAUSS COM PIVOTEAMENTO
Paradigmas de programação
Ponteiros em Pascal Variáveis ponteiros são aquelas que guardam o endereço de outra, possibilitando o acesso a seu conteúdo. Declaração em Pascal:  var.
Listas Lineares Estrutura de Dados.
Variáveis, Tipos de Dados e Constantes
Algoritmos e Estruturas de Dados
LISTAS DUPLAMENTE ENCADEADAS
MÉTODO JACOBI.
Denise Guliato Faculdade de Computação – UFU
Estrutura de Dados Unidade 16 Simulação da função Fatorial utilizando recursão – 16.1 Prof. Dr. Roberto Ferrari Jr.
Introdução a Programação COM 100 Aula 07 Procedimentos.
INTELIGÊNCIA ARTIFICIAL
Listas duplamente encadeadas Estrutura: tDado = integer; { ou real, char, etc.} tPtNo = ^tNo; tNo = record Ant: tPtNo Dado: tDado; Prox: tPtNo; end; var.
Procedure PercPreOrdem(a: tPtNo); var q: tPtNo; P: tPilha; begin Inicializa(P); Empilhar(P,a); while not PilhaVazia(P) do begin q:= Topo(P); Desempilhar(P);
Implementação de FILAS com Alocação Dinâmica
Estrutura de dados II Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação
Denise Guliato Faculdade de Computação – UFU
Faculdade de Informática e Tecnologia de Pernambuco ESTRUTURA DE DADOS
Listas, Filas e Pilhas Katia Guimarães.
Modelos de Paradigmas de programação
Estruturas de Dados Aula 9: Listas (parte 1)
Ambiente de Execução - Rotinas
Capítulo III Modularização Procedimentos e Funções Universidade Federal de São Carlos Departamento de Computação Aluna: Luanna Lopes Lobato
Estruturas de Dados PROFESSOR DIÓGENES FURLAN. Estruturas de Dados (ED) Programas operam sobre dados Dados são relacionados e possuem estrutura Como representar.
Estruturas de Dados Aula 11: TAD Pilha
© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 1 © 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 1 © 2011 Pearson Prentice.
Computação Eletrônica
Filas  São utilizadas em aplicações onde são impostos critérios para a inserção e retirada de elementos cuja ordem não depende da ordem natural dos valores.
Vetores Bidimensionais – Debug - Ponteiros – Listas Encadeadas Simples
Aula 06 – 05/04 Árvores binárias.
Lista Linear Base para outras estruturas
Prof Ulisses Vasconcelos ESTRUTURA DE DADOS AULA 02 - PILHA Conceito Inserção Remoção.
Estrutura de Dados Aula 02 1.
Programação II Prof. Mateus Raeder Universidade do Vale do Rio dos Sinos - São Leopoldo -
Subprogramas : Procedimentos (procedures) em Pascal
INE5408 Estruturas de Dados
Objetivos Ao concluir esta Disciplina espera-se que os alunos sejam capazes de: Distinguir os conceitos de Estrutura e Dados; Compreender o que são, como.
AULA 09 PROGRAMAÇÃO I. Estruturas de Dados Heterogêneas 10/08/2010 Programação I 2 Objetivo: Estudar os tipos de dados heterogêneos:  Registros;  Arrays.
Estrutura de Dados Aula 3 - Listas
Estrutura de dados Pilhas e filas
Profa. Juliana Mafra ESTRUTURA DE DADOS 30 de Setembro de 2009 Faculdade de Informática e Tecnologia de Pernambuco.
USP – ICMC – SSC SSC0300 2º Semestre 2015 Disciplina de Linguagem de Programação e Aplicações [ Eng. Elétrica / Eletrônica ] 1 Prof. Dr. Daniel Rodrigo.
Pilha dinâmica Prof.° Jean Daniel Henri Merlin Andreazza
Estrutura de Dados Prof. André Cypriano M. Costa
Alocação Dinâmica Dilvan Moreira. Objetivos  Entender o que são e como usar:  Gerenciamento de Memória  Alocação Dinâmica em C.
INE5408 Estruturas de Dados Estruturas de Dados básicas utilizando Vetores - Introdução - Pilhas usando Vetores - Filas usando Vetores.
SUB-ROTINAS EM PASCAL PROGRAMAÇÃO MODULARIZADA 252.
Transcrição da apresentação:

Professor Ulisses Vasconcelos Estrutura de dados Aula 03 - Filas Professor Ulisses Vasconcelos

Professor Ulisses Vasconcelos FILA Conceito Inserção Remoção Professor Ulisses Vasconcelos

Professor Ulisses Vasconcelos FILA - Conceitos Fila: É uma lista linear na qual todas as inserções são feitas num extremo da lista (a parte de trás) e todas as eliminações, e normalmente todos os acessos, são feitos no outro extremo da lista (parte da frente). Inserção e remoção baseado em fifo: O primeiro a entrar é o primeiro a sair e o ultimo a entrar é também o ultimo a sair (First-In / First-Out) Estrutura dinâmica: Comprimento variável O único elemento que se tem acesso é o elemento que está na frente Professor Ulisses Vasconcelos

Professor Ulisses Vasconcelos FILA - Conceitos Fila cheia Fila de vetores - Insere Vetores possuem um espaço limitado para armazenamento de dados. Necessitamos definir um espaço grande o suficiente para a nossa fila. Necessitamos de um indicador de qual elemento do vetor é o atual fim da fim (ultimo). Incluímos sempre no fim. 24 89 12 4 Fila vazia 55 20 5 4 -1 3 1 2 posição do último início da fila Professor Ulisses Vasconcelos

Professor Ulisses Vasconcelos FILA - Conceitos Fila de vetores - Retira Procedimento: Testamos se há elementos. Decrementamos o fim da fila (último). Salvamos o primeiro elemento em variável aux. Empuramos tudo para a frente. 55 4 12 89 24 55 4 12 89 24 20 4 5 20 posição do último início da fila Professor Ulisses Vasconcelos

Professor Ulisses Vasconcelos FILA - Conceitos Funcionamento de fila utilizando vetores - Declaração da fila const m = 50; type tipo_nodo=integer; fila=record primeiro:byte; ultimo:byte; elem:array[1..m] of tipo_nodo; end; m m Ultimo 3 2 1 Primeiro Professor Ulisses Vasconcelos

Professor Ulisses Vasconcelos FILA - Conceitos Funcionamento de fila utilizando vetores - Inicialização da fila procedure cria_fila(var f:fila); begin f.primeiro:=0; f.ultimo:=-1; end; -1 Ultimo Primeiro Professor Ulisses Vasconcelos

Professor Ulisses Vasconcelos Fila - Conceitos Inserção em fila de vertor Procedure push(var :fila;i:tipo_nodo); begin if f.ultimo=m then writeln(‘fila cheia’); else f.ultimo:=f.ultimo+1; f.elem[f.ultimo]:=i; end; M é uma contante com o valor máximo do vetor (4) -1 Ultimo 1 Primeiro elem Professor Ulisses Vasconcelos

Professor Ulisses Vasconcelos FILA - Conceitos Exclusão em fila de vetor function pop(var f:fila):byte; begin if f.ultimo<f.primeiro then writeln(‘fila vazia’) else f.primeiro:=f.primeiro+1; end; end; m m Ultimo 3 2 1 2 1 Primeiro Professor Ulisses Vasconcelos

Professor Ulisses Vasconcelos FILA - Ponteiros Declaração apontador = ^celula; celula = record item:integer; prox:apontador; end; tipofila=record frente:apontador; tras:apontador; end; Próximo Item Célula frente traz Ref. 0 Ref. 1 Ref. 0 Ref. 1 célula célula Professor Ulisses Vasconcelos

Professor Ulisses Vasconcelos FILA - Ponteiros Frente Traz Inicialização procedure iniciafila(var fila:tipofila); var aux:apontador; begin new (aux); fila.frente:=aux; fila.tras:=fila.frente; fila.tras^.prox :=nil; end; Ref. 0 Ref. 0 aux Ref. 0 Item Próximo Ref. 0 NIL Professor Ulisses Vasconcelos

Professor Ulisses Vasconcelos FILA - Ponteiros Verifica fila vazia function vazia(fila:tipofila):boolean; begin vazia:=fila.frente = fila.tras; end; Professor Ulisses Vasconcelos

Professor Ulisses Vasconcelos FILA - Ponteiros Frente Traz Inserção procedure inserir(x:integer;var fila:tipofila); var aux:apontador; begin new (aux); fila.tras^.prox:=aux; aux^.prox := nil; aux^.item :=x; fila.tras := aux; end; Valor passado por parâmetro: 5 Ref. 0 Ref. 1 Ref. 0 aux: Ref. 1 Item Próximo Ref. 0 Item Próximo Ref. 1 Ref. 1 NIL 5 NIL Professor Ulisses Vasconcelos

Professor Ulisses Vasconcelos FILA - Ponteiros Frente Traz Ref. 0 Ref. 1 Exclusão procedure retirar(var fila:tipofila); var aux:apontador; begin aux:=fila.frente^.prox; fila.frente^.prox := aux^.prox; if (fila.frente^.prox = nil ) then fila.tras := fila.frente; dispose(aux); end; Ref. 0 aux: Ref. 1 Item Próximo Ref. 0 Ref. 1 NIL 5 Item Próximo Ref. 1 NIL Professor Ulisses Vasconcelos