Estrutura de Dados e Algoritmos e Programação e Computadores II

Slides:



Advertisements
Apresentações semelhantes
Estrutura de Dados Pilha by Aquiles Burlamaqui. Definição Uma pilha é uma das várias estruturas de dados que admitem remoção de elementos e inserção de.
Advertisements

LISTAS Dilvan Moreira, parcialmente baseado em material do prof. Ricardo Campello.
Índice Estrutura de Dados Pilhas 2010 Renan Robson Lima Carneiro
ABSTRAÇÃO processo de representar um grupo de entidades através de seus atributos comuns feita a abstração, cada entidade particular (instância) do grupo.
Redes de computadores II
Marco Antonio Montebello Júnior
Aquiles Burlamaqui. i ? int i; i ? j 10 int j = 10; j 10.
Pilhas e Filas CONTEÚDO (1) Pilhas (2) Filas.
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
1 Tipos definidos O programador pode definir seus próprios tipos de dados tipos complexos usados da mesma forma que os simples declaram-se variáveis utilizando-se.
Pilha David Menotti Algoritmos e Estruturas de Dados I DECOM – UFOP.
David Menotti Algoritmos e Estruturas de Dados I DECOM – UFOP
David Menotti Algoritmos e Estruturas de Dados I DECOM – UFOP
Listas lineares Listas Lineares Fila Dupla Pilha Fila Saída restrita
Listas lineares Listas Lineares Fila Dupla Pilha Fila Saída restrita
Listas Ligadas – Conceitos Avançados
Prof. Luis Otavio Alvares
AED – Algoritmos e Estruturas de Dados
Estruturas de Dados I Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
Prof.: Sergio Pacheco Estruturas de Dados I Prof.: Sergio Pacheco 1.
Listas com Ponteiros Listas encadeadas Listas circulares.
Estrutura de dados Busca
Slides: Prof. João Fabro UTFPR - Curitiba
Lista Encadeada Circular Lista Duplamente Encadeada
Listas Encadeadas.
Prof. Hilton Cardoso Marins Junior
Listas Lineares Estrutura de Dados.
Algoritmos e Estruturas de Dados
Aula prática 13 Orientação a Objetos – C++ Parte 1
Linguagem de Montagem.
Denise Guliato Faculdade de Computação – UFU
Listas lineares Denise Guliato Faculdade de Computação – UFU
Aula 11 LISTAS LIGADAS.
INTELIGÊNCIA ARTIFICIAL
Tipos Abstratos de Dados
1 Tipos Abstratos de Dados Pilhas e Filas TPA – 2008 –1 Prof. Mateus Costa.
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
Tipos Abstratos de Dados
Listas, Filas e Pilhas Katia Guimarães.
Aula 3 Listas, pilhas, filas.
Pilhas Profa. Nádia Félix.
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
Listas Simplesmente Encadeadas
Tipos Especiais de Listas
Estruturas de Dados Aula 8: Tipos Abstratos de Dados 30/04/2014.
Educação Profissional Técnica de Nível Médio Curso Técnico de Informática
Pilhas e Filas usando Alocação Estática e Dinâmica de Memória
© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 1 © 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 1 © 2011 Pearson Prentice.
Linguagem de Programação II Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Programação II Prof. Mateus Raeder Universidade do Vale do Rio dos Sinos - São Leopoldo -
Estruturas de Dados I Segundo Período de 2008 Gabarito da Primeira Prova.
Professor Ulisses Vasconcelos
8 - 1 Organização Básica de Computadores e Linguagem de Montagem Ricardo Pannain ORGANIZAÇÃO BÁSICA DE COMPUTADORES E LINGUAGEM DE MONTAGEM A pilha e subrotinas.
AULA 6 PILHA Last In First Out. AULA 6 Conceito de Pilha Conceito de Pilha “Uma pilha é um tipo especial de Lista Linear em que todas as operações de.
Programação II Prof. Mateus Raeder Universidade do Vale do Rio dos Sinos - São Leopoldo -
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.
Estruturas de Dados Murilo Salgado Razoli.
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.
Pilha dinâmica Prof.° Jean Daniel Henri Merlin Andreazza
Estrutura de Dados Prof. André Cypriano M. Costa
UNIVERSIDADE FEDERAL DE MINAS GERAIS Pilhas e Filas Cristiano Arbex Valle Vinicius Fernandes dos Santos
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.
Transcrição da apresentação:

Estrutura de Dados e Algoritmos e Programação e Computadores II Aula 6: Pilhas e Filas

Pilhas e Filas Estruturas Heterogêneas Pilhas Filas

Pilhas Uma pilha é uma estrutura de dados que pode ser acessada somente por uma de suas extremidades para armazenar e recuperar dados. Por essa razão, uma pilha é chamada de estrutura LIFO (last in/first out).

Pilhas Operações sobre pilhas: clear() – limpa a pilha; isEmpty() – verifica se a pilha está vazia; push(elem) – coloca o elemento no topo da pilha; pop() – toma o elemento mais alto da pilha; topEl() – retorna o elemento mais alto da pilha sem removê-lo.

Pilhas push 10 push 5 pop push 15 push 7 pop 7 5 15 15 10 10 10 10 10

Pilhas Uma aplicação de pilhas é o casamento de delimitadores em um programa. O casamento de delimitadores é parte importante de qualquer compilador. while (m < (n[8] + o)) { p = 7; /* inicializa p */ r = 6; }

Lê o caracter ch do arquivo file; while não é o fim de file if ch é ´(´,´[´ ou ´{´ push(ch); else if ch é ´)´,´]´ ou ´}´ if ch e o caracter extraído não se casam falha; else if ch é ´/´ lê o próximo caracter; if este caracter é ´*´ pule todos os caracteres até encontrar o final do contrário “*”; indique um erro se o final for encontrado antes do “*”; // else ignore os outros caracteres; lê o próximo caracter ch a partir de file; if a pilha está vazia sucesso; else falha; };

Filas Uma fila é simplesmente uma linha de espera que cresce somando elementos ao seu final e que diminui tomando elementos de sua frente. Em uma extremidade os nós são somente adicionados, e na outra os nós são somente removidos.

Filas Operações clear() – limpa a fila; isEmpty() – verifica se a fila está vazia; isFull() – verifica se a fila está cheia; enqueue(elem) – toma o elemento no final da fila; dequeue() – toma o primeiro elemento da fila; firstEl() – retorna o primeiro elemento da fila sem removê-lo.

Filas enqueue 10 enqueue 5 dequeue enqueue 15 enqueue 7 dequeue 7 15

Filas As filas são frequentemente usadas em simulações, uma vez que existe uma teoria das filas bem desenvolvida e matematicamente sofisticada na qual vários cenários são analisados e modelos que usam filas são construídos. Exemplos: clientes em filas de espera, peças em filas de montagem, conteiners em portos, sistemas de trânsito de grandes cidades, dentre outros.

Estudo de Caso Uma Biblioteca: incluir novos livros, registrar saída de livros pelas pessoas e retorná-los. Neste estudo de caso quase tudo é implementado em termos de listas. Ainda mais, ele usa listas de listas que também contêm referências cruzadas.

catálogo A B F Fielding Pasquin The Hist.. NULL NULL Fitzgerald Select Euph.. NULL NULL NULL pessoas A B Charles C NULL NULL

Estudo de Caso O problema usa um vetor catalogo de todos os autores de livros incluídos na biblioteca e um vetor pessoas de todas as pessoas que usaram a biblioteca pelo menos uma vez. Os vetores são indexados por letras de modo que uma posição refere-se a lista de nomes com a letra correspondente. Pode-se ter diversos livros de um mesmo autor, e por isso um dos membros do nó autor aponta para uma lista de livros escritos.

Estudo de Caso Da mesma forma, uma pessoa pode retirar diversos livros, e assim o nó desta pessoa possui um membro que aponta para a lista de livros retirados. Este fato também é indicado ajustando-se o membro do nó livro para o nó da pessoa que o retirou. O problema possui 4 classes: Autor, Livro, Pessoa e LivroRetirado.

Estudo de Caso 5 operações possíveis no Estudo de Caso: Incluir um livro; Registrar a saída de um livro; Retornar um livro; Mostrar uma listagem dos livros da biblioteca; Sair do programa.