Listas ordenadas. Listas ordenadas. Listas ordenadas. Listas ordenadas. Listas ordenadas. Listas ordenadas. Definição

Documentos relacionados
Listas ordenadas. SCC-202 Algoritmos e Estruturas de Dados I. Prof. Thiago A. S. Pardo. Listas em que os elementos estão ordenados por algum critério

Listas: a última das 3 estruturas lineares (Pilhas, Filas e Listas)

Fila e Deque. SCC Algoritmos e Estruturas de Dados I. Prof. Fernando V. Paulovich. *Baseado no material do Prof.

Filas Implementação Sequencial

22/08/2011. Fila. SCC0202 Algoritmos e Estruturas de Dados I. Prof. Thiago A. S. Pardo. Fila. O que é? Para que serve?

Fila e Deque. Prof. Fernando V. Paulovich *Baseado no material do Prof. Gustavo Batista

Fila. SCC-202 Algoritmos e Estruturas de Dados I. Lucas Antiqueira

Listas: nós de cabeçalho, listas não homogêneas, listas generalizadas

Fila. Algoritmos e Estruturas de Dados I. Baseado no material de Thiago A. S. Pardo. Debora Medeiros

Pilhas e Filas Encadeadas. Algoritmos e Estruturas de Dados I

Fila. SCC0502 Algoritmos e Estruturas de Dados I. Prof. Thiago A. S. Pardo

Aplicações de listas e outras estruturas

Lista: conceito, representação e algoritmos

Fila. Fila. Biblioteca. Biblioteca. Biblioteca. Biblioteca. O que é? Para que serve? Algoritmos e Estruturas de Dados I

UNIVERSIDADE DA BEIRA INTERIOR

PRIMEIRA AVALIAÇÃO IDENTIFICAÇÃO. Nome: 22/09/2010

Listas Estáticas. SCC Algoritmos e Estruturas de Dados I. Prof. Fernando V. Paulovich. *Baseado no material do Prof.

Listas Lineares. continuando...

Fila. Algoritmos e Estruturas de Dados I

Estrutura de Dados. Carlos Eduardo Batista. Centro de Informática - UFPB

Lista: conceito, representação e algoritmos

BCC202 - Estrutura de Dados I

Listas: nós de cabeçalho, listas não homogêneas, listas generalizadas. SCC-502 Algoritmos e Estruturas de Dados I

BCC202 - Estrutura de Dados I

Tipos e Estruturas de Dados Profa. Graça Nunes Lista de Exercícios (Listas Encadeadas, Duplamente Encadeadas e Circulares)

Lista de Exercícios sobre Listas Implementadas por Encadeamento

Algoritmos e Estruturas de Dados II IEC013

2. Considerando as seguintes declarações de uma lista encadeada

Estrutura de Dados (DPADF 0056)

Estruturas de Dados I

Professora Jeane Melo

LISTAS LINEARES. Estrutura de Dados

SCC Algoritmos e Estruturas de Dados I

Aplicações de listas Outras estruturas

Lista: conceito, representação e algoritmos

Listas: a última das 3 estruturas lineares (Pilhas, Filas e Listas)... árvores e grafos são não lineares!

Estruturas de Dados. Filas em que a prioridade de remoção não é cronológica. Maior prioridade não é do elemento que ingressou primeiro

Listas Estáticas. Prof. Fernando V. Paulovich *Baseado no material do Prof. Gustavo Batista

UNIVERSIDADE DA BEIRA INTERIOR

Estrutura de Dados Listas

Estrutura de Dados (DPADF 0056)

INF P4-12/12/09 Questão 1 Nome:

Algoritmos e Estruturas de Dados Prof. Osório PIP/CA - Aula 05 Pag.: 1

Lista de Exercícios 04

Estrutura de Dados: Lista Linear. Parte I Introdução e Listas Sequenciais Estáticas

Fila. 26 e 31/8/2008 Representação/Implementação: Seqüencial estática Encadeada dinâmica Exercícios/Aplicações

Estrutura de Dados: Lista Linear. Parte I Introdução e Listas Sequenciais Estáticas

CES-11. Pilhas Definição Operações Filas. Operações Deques. Definição. Operações

INF 1620 P2-23/10/04 Questão 1 Nome:

Algoritmos e Estruturas de dados

Árvores. SCC-202 Algoritmos e Estruturas de Dados I. Lucas Antiqueira

UNIVERSIDADE DA BEIRA INTERIOR

Aplicações de listas e outras estruturas. SCC-502 Algoritmos e Estruturas de Dados I

Listas Lineares Ordenadas

Estruturas de Dados Estruturas de Dados Fundamentais

Algoritmos e Estruturas de dados

Estruturas de Dados - Filas

Computadores Digitais 2. Prof. Rodrigo de Souza Couto

Lista de Exercícios - Listas Aula de Laboratório. 1. Considerando as seguintes declarações de uma lista encadeada:

Filas Exemplo de Aplicação

UNIVERSIDADE DA BEIRA INTERIOR

ESTRUTURA DE DADOS FILAS DINÂMICAS

Aplicações de listas e outras estruturas

Estruturas de dados e algoritmos fundamentais

Estruturas de Dados. Módulo 12 - Filas. 9/8/2005 (c) Dept. Informática - PUC-Rio 1

ANHANGUERA ESTRUTURA DE DADOS AULA 06 LISTAS CIRCULARES E DUPLAMENTE ENCADEADAS. Prof. Thomás da Costa

Árvores binárias de busca

Algoritmos e Estruturas de Dados Prof. Osório PIP/CA - Aula 04 Pag.: 1

Programação II. Listas Encadeadas (Linked Lists) Bruno Feijó Dept. de Informática, PUC-Rio

Estrutura de Dados. Aleardo Manacero Jr.

Algoritmos e Estruturas de Dados. Prof. Marcelo Zorzan Profa. Melissa Zanatta

Instituto de C. Filas. Luis Martí Instituto de Computação Universidade Federal Fluminense -

Filas. Prof. Túlio Toffolo BCC202 Aula 12 Algoritmos e Estruturas de Dados I

- UNIVERSIDADE DO VALE DO RIO DOS SINOS CIÊNCIAS EXATAS E TECNOLÓGICAS Curso: Informática / Ciência da Computação

Filas. Nesta aula veremos o ADT fila Em um computador existem muitas filas esperando pela impressora, acesso ao disco ou, num sistema timesharing,

Aula 7 Encadeamento de Memória

ASSOCIAÇÃO PARAIBANA DE ENSINO RENOVADO FACULDADE PARAIBANA DE PROCESSAMENTO DE DADOS ESTRUTURA DE DADOS

Tabelas de dispersão/hash

Listas (Parte 1) Túlio Toffolo BCC202 Aula 09 Algoritmos e Estruturas de Dados I

SCC 202 Prova 1. 28/9/2010 Resolução e Comentários

Organização de Arquivos

Organização de Arquivos

Algoritmos e Estruturas de Dados I

SCC122 - Estruturas de Dados. Lista Estática Seqüencial

Estrutura de Dados II

Árvores binárias de busca

Árvores. SCC-214 Projeto de Algoritmos. Thiago A. S. Pardo. Um nó após o outro, adjacentes Sem relações hierárquicas entre os nós, em geral

REVISÃO DE PILHAS E FILAS. Vanessa Braganholo Estruturas de Dados e Seus Algoritmos

Índices. SCC-503 Algoritmos e Estruturas de Dados II. Thiago A. S. Pardo Leandro C. Cintra M.C.F. de Oliveira

Aplicações de listas e outras estruturas. SCC-502 Algoritmos e Estruturas de Dados I

LISTAS ENCADEADAS OU NÃO- SEQÜENCIAIS. Estrutura de Dados

16/11/2015 Lista Tipo de dado Lista - Implementação Lista - Implementação Lista - Implementação 3

SCC Algoritmos e Estruturas de Dados I

Aula 11 Pilha Dinâmica. prof Leticia Winkler

Listas Encadeadas. David Menotti Algoritmos e Estruturas de Dados II DInf UFPR

Algoritmos e Estrutura de Dados. Aula 05 Estrutura de Dados: Listas (Parte II) Prof. Tiago A. E. Ferreira

Universidade Estadual de Mato Grosso do Sul Bacharelado em Ciência da Computação Algoritmos e Estruturas de Dados II Prof. Fabrício Sérgio de Paula

Transcrição:

Baseado no material de Thiago A. S. ardo Defção Listas em que os elementos estão ordenados por algum critério Em geral, por ordem alfabética Algoritmos e Estruturas de Dados I Ana Beth Bia Elen Debora Medeiros Situações Cadastro de funcionários por ordem alfabética Lista de passageiros em um vôo Lista de deputados presentes no congresso Telefones da cidade Nessas três situações os acessos (inserção, eliminação e consulta) são direcionados a um elemento específico, e não mais ao primeiro (ou último) a entrar na lista (fila ou pilha). Eemplos: Carla eres foi despedida (retire seu nome do cadastro) Edmundo é funcionário? Verifique se seu nome consta do cadastro Qual o salário do funcionário edro Malan? Sandra Bulloc foi contratada; inclua-a no cadastro Nos eemplos acima, os registros (as pastas ) de cada funcionário são (ordenados e) procurados pelo nome. O nome, neste caso, é a chave de busca, ou simplesmente chave. Operações cria(lista) IsEmpty(lista) IsFull(lista) esta_na_lista(lista,) inserir(lista,) remover(lista,) imprimir_todos_da_lista(lista) Etc. Implementações Seqüencial Encadeada Implicam mudanças na forma de manipulação da lista

Lista ordenada seqüencial Lista ordenada seqüencial O que acontece se quero incluir na lista a funcionária Alice do aís das Maravilhas? Zorro i+1 O que acontece se quero incluir na lista a funcionária Alice do aís das Maravilhas? Zorro i+1 Zoroastro Zico i i-1 Tem que se deslocar todos os elementos da lista para inserir o novo elemento na posição correta Zoroastro Zico i i-1 Antônio 3 Antônio 3 André 2 André 2 Ana 1 Ana 1 Lista ordenada encadeada Lista ordenada encadeada Lista de Gregos, Troianos e Tantálidas Aquiles Menelau Neoptólemo O que deve acontecer na lista quando Nasce Filoctetes? Nasce Agamêmnon? Morre Menelau? Reso Vantagem sobre a alocação seqüencial Os nós podem ser inseridos e eliminados na posição correta, sem realocação dos demais elementos Compleidade de algoritmos O que implica? A diferença é significativa? Lista ordenada estática e encadeada Lista ordenada dinâmica e encadeada Declaração da estrutura #define TAM typedef struct bloco { char nome[20]; int pro; } no typedef struct { int, primeiro_vazio; no v[tam]; } ListaOrd; Declaração da estrutura typedef struct bloco { char nome[20]; struct bloco *pro; } no typedef struct { no *; } ListaOrd;

Lista ordenada dinâmica e encadeada Eercício: identificar os possíveis casos para a inserção (caso 1, caso 2, ) Supondo que o elemento a ser inserido não está na lista Inserção: caso 1 insere(l,,erro) Lista vazia se possível, aloca novo nó e erro false nó próimo de nó nada nó novo nó Inserção: caso 2 Inserção: caso 3 insere(l,,erro) < 1º da lista se possível, aloca novo nó e erro false nó próimo de nó nó novo nó insere(l,,erro) > 1º da lista se possível, aloca novo nó e erro false nó próimo de nó próimo de nó novo nó y > Inserção Eercício: implementar a função de inserção Lista ordenada dinâmica e encadeada Operação de remoção de um elemento X Casos?

Lista ordenada dinâmica e encadeada Remoção: caso 1 Operação de remoção de um elemento X 4 casos Lista vazia X não está na lista X é menor do que o primeiro elemento da lista X não está na lista X é igual ao primeiro elemento da lista X está na lista X é maior do que o primeiro elemento da lista X pode estar na lista remove(l,,erro) a lista é vazia erro true Remoção: caso 2 Remoção: caso 3 remove(l,,erro) remove(l,,erro) < 1º da lista erro true = 1º da lista aponta para o próimo libera nó indicado por p erro false y > Remoção: caso 4 Remoção: caso 4 remove(l,,erro) remove(l,,erro) > 1º da lista e é encontrado > 1º da lista e não é encontrado próimo do próimo de erro true libera nó indicado por erro false y >

Remoção Eercício: implementar a função de remoção Eercício: produzindo uma lista ordenada Implemente uma função que ordene uma lista de nomes próprios, trocando os nomes entre os blocos Eercício: produzindo uma lista ordenada Em duplas Implemente uma função que ordene uma lista de nomes próprios, trocando somente os ponteiros dos blocos Questão Como poderia ser implementada uma lista ordenada com elementos repetidos? O que mudaria? Dica: desenhe/esboce as várias situações possíveis Questão E se a lista ordenada fosse circular? O que mudaria? Eercício: união de listas ordenadas Situação Você recebeu duas listas dinâmicas e encadeadas ordenadas, de tamanhos possivelmente diferentes Você não pode se dar ao luo de contar com mais memória do que a já usada pelas listas, pois a aplicação rodando é crítica Implemente uma função em C que faça a união das duas listas, mantendo a ordenação

Eercício para casa Implemente as operações sobre uma lista ordenada estática e encadeada