Algoritmos e Estruturas de dados

Tamanho: px
Começar a partir da página:

Download "Algoritmos e Estruturas de dados"

Transcrição

1 Algoritmos e Estruturas de dados Listas Encadeadas - continuação Prof. Dr. Fábio Rodrigues de la Rocha (Listas Encadeadas - continuação) 1 / 10

2 Listas encadeadas com indicadores de inicio e fim Anteriormente foram apresentadas listas encadeadas que eram assim definidas: 1 struct tipo_ l { 2 int valor ; 3 struct tipo_ l * proximo ; 4 }; 5 6 typedef struct { 7 struct tipo_ l * inicio ; 8 int quantidade ; 9 } Tipo_Lista ; Ou seja, existe um indicador de inicio da lista. Este indicador é utilizado por algumas funções para saber onde a lista começa. Sabendo (Listas Encadeadas onde - continuação) a lista começa, basta acessar o campo próximo e 2 / 10

3 Listas com indicador de início e fim Uma variação do esquema apresentado é utilizar um indicador de início e fim. Utilizando este indicador pode-se conhecer quem é o último elemento da lista, sem a necessidade de percorrê-la. Isto é especialmente útil numa operação de inserção, onde devemos inserir elementos ao final da lista. 1 struct tipo_ l { 2 int valor ; 3 struct tipo_ l * proximo ; 4 }; 5 6 typedef struct { 7 struct tipo_ l * inicio ; 8 struct tipo_ l * fim ; 9 int quantidade ; 10 } Tipo_Lista ; (Listas Encadeadas - continuação) 3 / 10

4 Exercício Escreva as funções : inicializa_lista(&l) - inicializa a lista; insere_elemento(&l,x) - Insere um x elemento no final da lista; mostra_lista(l) - Mostra os elementos da lista. (Listas Encadeadas - continuação) 4 / 10

5 Listas duplamente encadeadas Uma outra variação possível para listas encadeadas são as chamadas listas duplamente encadeadas. Uma lista duplamente encadeada é uma lista encadeada que além de possuir um ponteiro para o próximo elemento possuí um ponteiro para o elemento anterior. Veja inicio Fim Quantidade typedef struct { struct tipo_l inicio; struct tipo_l fim; int quantidade; } struct tipo_l { int valor; struct tipo_l proximo; struct tipo_l anterior; }; valor Anterior Proximo valor Anterior Proximo na figura: valor Anterior Proximo (Listas Encadeadas - continuação) 5 / 10

6 Listas duplamente encadeadas Vantagens das listas duplamente encadeadas: É possível percorrer a lista em qualquer direção. Se a lista estiver ordenada em ordem crescente, podemos decidir percorrê-la partindo do fim e sempre consultar o indicador anterior, até chegar no primeiro elemento da lista. Se possuirmos uma operação pesquisa (que retorna o ponteiro do elemento encontrado ou NULL se não existe elemento) podemos facilmente criar uma operação elimina. Por que? Pois se soubermos o endereço do elemento, podemos acessar o anterior e o próximo e atualizar os ponteiros destes antes de liberar a memória. 1 // procura o valor 100; 2 x = pesquisa (L,100) ; 3 if (x!= NULL ) elimina (&L,x); (Listas Encadeadas - continuação) 6 / 10

7 Listas duplamente encadeadas Desvantagens das listas duplamente encadeadas: Gasto de memória com ponteiros; Mais variáveis para atualizar quando se realiza operações de inserção/eliminação. (Listas Encadeadas - continuação) 7 / 10

8 Exercício Implemente em C as seguintes funções para trabalhar com listas duplamente encadeadas: inicializa(&l); insere(&l,x); end=pesquisa (L, x); elimina (&L, end); elimina_todos_seguintes (&L,end) Elimina todos os elementos seguintes ao elemento informado. (Listas Encadeadas - continuação) 8 / 10

9 Exercício Crie uma lista simplesmente encadeada para armazenar os pontos de um poĺıgono. Crie as funções: inicializa_poligono(&p), insere_pontos_poligono(&p,x,y) e calcula_perímetro_polígono(p); P2(X2, Y2); P3(X3,Y3); P1(X1,Y1); P4(X4,Y4); (Listas Encadeadas - continuação) 9 / 10

10 Exercício Crie uma lista simplesmente encadeada para armazenar os pontos de uma função. Crie as funções: inicializa_funcao(&p), insere_pontos_funcao(&p,x,y) e calcula_integral(p, x_inicial, x_final); P1(x1,y1); P2(x2,y2) P4(x4,y4); P5(x5,y5); P3(x3,y3); P6(x6,y6) P7(x7,y7); P8(x8,y8); P9(x9,y9); x1 x2 x3 x4 x5 x6 x7 x8 x9 Ex: Calcular a integral entre x4 x8 ou seja, a area sob a curva (Listas Encadeadas - continuação) 10 / 10

Algoritmos e Estruturas de dados

Algoritmos e Estruturas de dados Algoritmos e Estruturas de dados Listas Encadeadas Prof. Dr. Fábio Rodrigues de la Rocha (Listas Encadeadas) 1 / 21 Definição: Anteriormente estudamos listas encadeadas que foram implementadas como vetores

Leia mais

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

LISTAS ENCADEADAS OU NÃO- SEQÜENCIAIS. Estrutura de Dados LISTAS ENCADEADAS OU NÃO- SEQÜENCIAIS Listas Lineares Como visto anteriormente, as operações básicas para o nosso TAD Lista Linear são: FLVazia Vazia Retira Insere Imprime A implementação através de arrays

Leia mais

BCC202 - Estrutura de Dados I

BCC202 - Estrutura de Dados I BCC202 - Estrutura de Dados I Aula 09: Listas (Parte 2) Reinaldo Fortes Universidade Federal de Ouro Preto, UFOP Departamento de Ciência da Computação, DECOM Website: www.decom.ufop.br/reifortes Email:

Leia mais

Listas Lineares. continuando...

Listas Lineares. continuando... Listas Lineares continuando... 1 Listas! relembrando: listas lineares agrupa informações referentes aum conjunto de elementos que, de alguma forma, se relacionam entre si! Uma lista linear ou está vazia,

Leia mais

Estrutura de Dados. Ricardo José Cabeça de Souza Parte 9

Estrutura de Dados. Ricardo José Cabeça de Souza  Parte 9 Estrutura de Dados Ricardo José Cabeça de Souza www.ricardojcsouza.com.br Parte 9 VETOR Ao declararmos um vetor, reservamos um espaço contíguo de memória para armazenar seus elementos Vetor não é uma estrutura

Leia mais

Estruturas de Dados Aula 10: Listas (parte 2) 19/04/2011

Estruturas de Dados Aula 10: Listas (parte 2) 19/04/2011 Estruturas de Dados Aula 10: Listas (parte 2) 19/04/2011 Fontes Bibliográficas Livros: Projeto de Algoritmos (Nivio Ziviani): Capítulo 3; Introdução a Estruturas de Dados (Celes, Cerqueira e Rangel): Capítulo

Leia mais

Algoritmos e Estruturas de Dados II IEC013

Algoritmos e Estruturas de Dados II IEC013 Algoritmos e Estruturas de Dados II IEC013 Revisão: Listas Encadeadas Prof. César Melo Todos os créditos reservados ao professor Leandro Galvão Listas Encadeadas Listas encadeadas ou listas ligadas representam

Leia mais

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

Listas Encadeadas. David Menotti Algoritmos e Estruturas de Dados II DInf UFPR Listas Encadeadas David Menotti Algoritmos e Estruturas de Dados II DInf UFPR Listas Encadeadas Características: Tamanho da lista não é pré-definido Cada elemento guarda quem é o próximo Elementos não

Leia mais

Pilhas e Filas Encadeadas. Algoritmos e Estruturas de Dados I

Pilhas e Filas Encadeadas. Algoritmos e Estruturas de Dados I Pilhas e Filas Encadeadas Algoritmos e Estruturas de Dados I Pilha Lista linear: pilha Represente graficamente o funcionamento da pilha, representando a pilha vazia, a entrada e a saída de elementos Quais

Leia mais

Aula 05: Listas Encadeadas. Bruno Hott Algoritmos e Estruturas de Dados I DECSI UFOP

Aula 05: Listas Encadeadas. Bruno Hott Algoritmos e Estruturas de Dados I DECSI UFOP Aula 05: Listas Encadeadas Bruno Hott Algoritmos e Estruturas de Dados I DECSI UFOP Listas Encadeadas Características: Tamanho da lista não é pré-definido Cada elemento guarda quem é o próximo Elementos

Leia mais

Métodos Computacionais. Listas Encadeadas

Métodos Computacionais. Listas Encadeadas Métodos Computacionais Listas Encadeadas Vetores Declaração de vetor implica na especificação de seu tamanho Não se pode aumentar ou diminuir tamanho Outra alternativa no uso de vetores é alocar dinamicamente

Leia mais

Listas Ligadas (Encadeadas) Listas Simplesmente Encadeadas

Listas Ligadas (Encadeadas) Listas Simplesmente Encadeadas Listas Ligadas (Encadeadas) Matrizes são estruturas de dados muito úteis fornecidas nas linguagens de programação. No entanto, elas têm pelo menos duas limitações: 1- Seu tamanho tem que ser conhecido

Leia mais

Listas - Outras. Listas Circulares Nós Cabeça Listas Duplamente Ligadas/Encadeadas Aplicações

Listas - Outras. Listas Circulares Nós Cabeça Listas Duplamente Ligadas/Encadeadas Aplicações Listas - Outras Listas Circulares Nós Cabeça Listas Duplamente Ligadas/Encadeadas Aplicações 5 e 7/10/2010 Listas Circulares Encadeadas Dinâmicas Se o nó next do último nó apontar para o primeiro, teremos

Leia mais

Estruturas de Dados I

Estruturas de Dados I Estruturas de Dados I Rodrigo Porfírio da Silva Sacchi rodrigosacchi@ufgd.edu.br 3410-2075 Aula 6: Listas Encadeadas e Alocação Dinâmica Listas Encadeadas e Alocação Dinâmica Alocação Seqüencial versus

Leia mais

Lista Encadeada (Linked List)

Lista Encadeada (Linked List) Lista Encadeada (Linked List) As listas ou listas encadeadas são a estrutura de dados mais simples concebível excetuando-se naturalmente os arrays. Listas encadeadas nada mais são que uma seqüência de

Leia mais

BCC202 - Estrutura de Dados I

BCC202 - Estrutura de Dados I BCC202 - Estrutura de Dados I Aula 08: Listas (Parte 1) ASN Universidade Federal de Ouro Preto, UFOP Departamento de Computação, DECOM Material elaborado com base nos slides do Prof. Reinaldo Fortes (curso

Leia mais

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

Estruturas de Dados. Filas em que a prioridade de remoção não é cronológica. Maior prioridade não é do elemento que ingressou primeiro Estruturas de Dados Filas de Prioridade Ricardo J. G. B. Campello Parte deste material é baseado em adaptações e extensões de slides disponíveis em http://ww3.datastructures.net (Goodrich & Tamassia).

Leia mais

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

Algoritmos e Estrutura de Dados. Aula 05 Estrutura de Dados: Listas (Parte II) Prof. Tiago A. E. Ferreira Algoritmos e Estrutura de Dados Aula 05 Estrutura de Dados: Listas (Parte II) Prof. Tiago A. E. Ferreira Listas Seqüenciais Estática Seqüencial É implementada usando um vetor Deve-se determinar qual a

Leia mais

Aplicações de listas e outras estruturas

Aplicações de listas e outras estruturas 19/1/11 Aplicações de listas e outras estruturas SCC- Algoritmos e Estruturas de Dados I Prof. Thiago A. S. Pardo Grandes números Problema: lidar com números muito grandes Em C, inteiros (mesmo long int)

Leia mais

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

Estruturas de Dados. Módulo 12 - Filas. 9/8/2005 (c) Dept. Informática - PUC-Rio 1 Estruturas de Dados Módulo 12 - Filas 9/8/2005 (c) Dept. Informática - PUC-Rio 1 Referências Waldemar Celes, Renato Cerqueira, José Lucas Rangel, Introdução a Estruturas de Dados, Editora Campus (2004)

Leia mais

Estrutura de Dados (DPADF 0056)

Estrutura de Dados (DPADF 0056) Estrutura de Dados (DPADF 0056) Aula 8 Estr. Clássicas - Lista Universidade Federal de anta Maria Colégio Agrícola de Frederico Westphalen Curso uperior de Tecnologia em istemas para Internet Prof. Bruno

Leia mais

Linguagem C: Listas Encadeadas

Linguagem C: Listas Encadeadas Prof. Paulo R. S. L. Coelho paulo@facom.ufu.br Faculdade de Computação Universidade Federal de Uberlândia GEQ007 Organização 1 Introdução 2 3 Organização Introdução 1 Introdução 2 3 Introdução Introdução

Leia mais

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

Instituto de C. Filas. Luis Martí Instituto de Computação Universidade Federal Fluminense - Instituto de C Filas Luis Martí Instituto de Computação Universidade Federal Fluminense lmarti@ic.uff.br - http://lmarti.com Referências Waldemar Celes, Renato Cerqueira, José Lucas Rangel, Introdução

Leia mais

Estruturas de Dados Aula 12: Outras Implementações de Listas 18/04/2011

Estruturas de Dados Aula 12: Outras Implementações de Listas 18/04/2011 Estruturas de Dados Aula 12: Outras Implementações de Listas 18/04/2011 Fontes Bibliográficas Waldemar Celes, Renato Cerqueira, José Lucas Rangel, Introdução a Estruturas de Dados, Editora Campus (2004)

Leia mais

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

Filas. Prof. Túlio Toffolo  BCC202 Aula 12 Algoritmos e Estruturas de Dados I Filas Prof. Túlio Toffolo http://www.toffolo.com.br BCC202 Aula 12 Algoritmos e Estruturas de Dados I O que é uma fila? 1 4 2 3 Fila 1 2 3 4 TAD Fila Tipo Abstrato de dados com a seguinte característica:

Leia mais

Fontes Bibliográficas. Listas Circulares. Função Imprime

Fontes Bibliográficas. Listas Circulares. Função Imprime Fontes Bibliográficas Estruturas de Dados Aula 12: Outras Implementações de Listas Waldemar Celes, Renato Cerqueira, José Lucas Rangel, Introdução a Estruturas de Dados, Editora Campus (2004) Capítulo

Leia mais

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

Programação II. Listas Encadeadas (Linked Lists) Bruno Feijó Dept. de Informática, PUC-Rio Programação II Listas Encadeadas (Linked Lists) Bruno Feijó Dept. de Informática, PUC-Rio Vetores vs Estruturas Dinâmicas Vetores (arrays): Ocupa um espaço contíguo de memória Permite acesso randômico

Leia mais

Lista Ordenada. Estrutura de Dados. Universidade Federal de Juiz de Fora Departamento de Ciência da Computação 1 / 35

Lista Ordenada. Estrutura de Dados. Universidade Federal de Juiz de Fora Departamento de Ciência da Computação 1 / 35 Lista Ordenada Estrutura de Dados Universidade Federal de Juiz de Fora Departamento de Ciência da Computação 1 / 35 Conteúdo Definição Operações Representações Contígua Encadeada Aplicação Exercícios 2

Leia mais

Universidade Federal do Ma Curso de Ciência da Computação

Universidade Federal do Ma Curso de Ciência da Computação Universidade Federal do Ma Curso de Ciência da Computação Estrutura de Dados Prof. Anselmo C. de Paiva Depto de Informática Limitações dos vetores Vetores Simples, Rápidos Mas, é necessário especificar

Leia mais

Lista com descritor (continuação)

Lista com descritor (continuação) Lista com descritor (continuação) Rotina para remover o eiro elemento de uma LLSECD: char removeiniciollsecd(tdescritor *l, TInfo val) { p = l->; l->=p->prox; if (l->==1) Rotina para remover o último nó

Leia mais

LISTAS LINEARES. Estrutura de Dados

LISTAS LINEARES. Estrutura de Dados LISTAS LINEARES Lista Linear Definição: seqüência de zero ou mais elementos a 1,a 2,...,a n sendo a i elementos de um mesmo tipo n o tamanho da lista linear Propriedade fundamental: os elementos têm relações

Leia mais

Instituto de C. Linguagem C: Listas. Luis Martí Instituto de Computação Universidade Federal Fluminense -

Instituto de C. Linguagem C: Listas. Luis Martí Instituto de Computação Universidade Federal Fluminense - Instituto de C Linguagem C: Listas Luis Martí Instituto de Computação Universidade Federal Fluminense lmarti@ic.uff.br - http://lmarti.com Listas Encadeadas Definição Funções básicas Tópicos Principais

Leia mais

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

Aplicações de listas e outras estruturas. SCC-502 Algoritmos e Estruturas de Dados I Aplicações de listas e outras estruturas SCC-52 Algoritmos e Estruturas de Dados I Grandes números Problema: lidar com números muito grandes Em C, inteiros (mesmo long int) são limitados Como somar números

Leia mais

CES-11. Algoritmos e Estruturas de Dados. Carlos Alberto Alonso Sanches Juliana de Melo Bezerra

CES-11. Algoritmos e Estruturas de Dados. Carlos Alberto Alonso Sanches Juliana de Melo Bezerra CES- Algoritmos e Estruturas de Dados Carlos Alberto Alonso Sanches Juliana de Melo Bezerra Árvores CES- Operações sobre uma árvore Estruturas para armazenar árvores Contígua Contígua melhorada Encadeada

Leia mais

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

SCC 202 Prova 1. 28/9/2010 Resolução e Comentários SCC 202 Prova 1 28/9/2010 Resolução e Comentários Questão 1) (3.5) Sobre TADs. a) O que é e quais são as vantagens de se utilizar Tipos Abstratos de Dados (TADs) no projeto de desenvolvimento de software?

Leia mais

Aplicações de listas Outras estruturas

Aplicações de listas Outras estruturas Aplicações de listas Outras estruturas SCC-22 Algoritmos e Estruturas de Dados I Lucas Antiqueira Grandes números 2 Grandes números Problema: lidar com números muito grandes Em C, inteiros (mesmo long

Leia mais

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

Listas: a última das 3 estruturas lineares (Pilhas, Filas e Listas)... árvores e grafos são não lineares! Listas: a última das 3 estruturas lineares (Pilhas, Filas e Listas)... árvores e grafos são não lineares! 28/9/, 30/9/ e 5/10/2010 Representação/Implementação: Encadeada dinâmica Exercícios Lista Simplesmente

Leia mais

Árvores Binária de Busca. Prof. César Melo DCC/ICE/UFAM

Árvores Binária de Busca. Prof. César Melo DCC/ICE/UFAM Árvores Binária de Busca Prof. César Melo DCC/ICE/UFAM Introdução O algoritmo de busca binária em vetores tem bom desempenho e deve ser usado quando temos os dados já ordenados. No entanto, se precisarmos

Leia mais

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

Algoritmos e Estruturas de Dados Prof. Osório PIP/CA - Aula 05 Pag.: 1 Algoritmos e Estruturas de Dados Prof. Osório PIP/CA - Aula 05 Pag.: 1 - UNIVERSIDADE DO VALE DO RIO DOS SINOS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS (C6/6) PIP/CA - Programa Interdisciplinar de Pós-Graduação

Leia mais

INF1007: Programação 2 8 Listas Encadeadas. (c) Dept. Informática - PUC-Rio 1

INF1007: Programação 2 8 Listas Encadeadas. (c) Dept. Informática - PUC-Rio 1 INF1007: Programação 2 8 Listas Encadeadas (c) Dept. Informática - PUC-Rio 1 Tópicos Principais Motivação Listas encadeadas Implementações recursivas Listas de tipos estruturados (c) Dept. Informática

Leia mais

Árvores de Pesquisa (Parte I)

Árvores de Pesquisa (Parte I) Baseado no material do Prof. Reinaldo Fortes para o curso de 2014-01 Arquivo original: 21._arvores_(parte_1) Árvores de Pesquisa (Parte I) Prof. Túlio Toffolo http://www.toffolo.com.br BCC202 Algoritmos

Leia mais

Árvore Binária de Busca. Prof. César Melo

Árvore Binária de Busca. Prof. César Melo Árvore Binária de Busca Prof. César Melo Introdução O algoritmo de busca binária em vetores tem bom desempenho e deve ser usado quando temos os dados já ordenados. No entanto, se precisarmos inserir e

Leia mais

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

Aplicações de listas e outras estruturas. SCC-502 Algoritmos e Estruturas de Dados I Aplicações de listas e outras estruturas SCC-52 Algoritmos e Estruturas de Dados I Grandes números Problema: lidar com números muito grandes Em C, inteiros (mesmo long int) são limitados Como somar números

Leia mais

SCC Algoritmos e Estruturas de Dados I

SCC Algoritmos e Estruturas de Dados I SCC 202 - Algoritmos e Estruturas de Dados I Lista 4 de Exercícios (Listas Generalizadas, Listas Cruzadas) 1. Sobre listas generalizadas, responda os seguintes itens: (a) Quais suas vantagens? (b) Quais

Leia mais

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

ANHANGUERA ESTRUTURA DE DADOS AULA 06 LISTAS CIRCULARES E DUPLAMENTE ENCADEADAS. Prof. Thomás da Costa ANHANGUERA 2015.2 ESTRUTURA DE DADOS AULA 06 Prof. Thomás da Costa thomascosta@aedu.com Vamos ver o PEA : PEA Estrutura de Dados Antes de iniciar a aula, vamos mostrar o andamento do PEA. Vou mostrar as

Leia mais

Listas Lineares. Livro Projeto de Algoritmos Nívio Ziviani Capítulo 3 Seção 3.1

Listas Lineares. Livro Projeto de Algoritmos Nívio Ziviani Capítulo 3 Seção 3.1 Listas Lineares Elerson R. S. Santos elerson@dcc.ufmg.br Livro Projeto de Algoritmos Nívio Ziviani Capítulo 3 Seção 3.1 http://www2.dcc.ufmg.br/livros/algoritmos/ Listas Lineares Uma das formas mais simples

Leia mais

Introdução à Computação II (Noturno) BCC Unesp Rio Claro/SP 2015 em PDF via Moodle: Escolha apenas 5 exercícios para entrega Exercício 01 (Pilhas)

Introdução à Computação II (Noturno) BCC Unesp Rio Claro/SP 2015 em PDF via Moodle: Escolha apenas 5 exercícios para entrega Exercício 01 (Pilhas) Introdução à Computação II (Noturno) BCC Unesp Rio Claro/SP 2015 Lista Obrigatória 02 - Prof. Rafael Oliveira (Deve ser entregue em PDF via Moodle: Escolha apenas 5 exercícios para entrega) Exercício 01

Leia mais

Aplicações de listas e outras estruturas

Aplicações de listas e outras estruturas plicações de listas e outras estruturas Baseado no material de Thiago. S. Pardo lgoritmos e Estruturas de Dados I Problema: lidar com números muito grandes Em C, inteiros (mesmo long int) são limitados

Leia mais

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

PRIMEIRA AVALIAÇÃO IDENTIFICAÇÃO. Nome: 22/09/2010 UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA Bacharelado em Ciência da Computação e Engenharia da Computação INF 01203 Estruturas de Dados Profa. Renata Galante (galante@inf.ufrgs.br

Leia mais

ÁRVORE B. Vanessa Braganholo Estruturas de Dados e Seus Algoritmos

ÁRVORE B. Vanessa Braganholo Estruturas de Dados e Seus Algoritmos ÁRVORE B Vanessa Braganholo Estruturas de Dados e Seus Algoritmos INTRODUÇÃO 2 ARQUIVOS DE ACESSO DIRETO Basicamente, duas formas de acesso a um registro: Acesso via cálculo do endereço do registro (hashing)

Leia mais

Listas ligadas/listas encadeadas

Listas ligadas/listas encadeadas 1 Listas ligadas/listas encadeadas Leitura recomendada: http://www.ime.usp.br/~pf/algoritmos/aulas/lista.html 2 Processamento elementar de listas Definição mais restritiva (tipo de lista possivelmente

Leia mais

Módulo 10 Listas Encadeadas

Módulo 10 Listas Encadeadas Estruturas de Dados Módulo 10 Listas Encadeadas 9/8/2005 (c) Dept. Informática - PUC-Rio 1 Referências Waldemar Celes, Renato Cerqueira, José Lucas Rangel, Introdução a Estruturas de Dados, Editora Campus

Leia mais

INF 1620 P2-01/11/03 Questão 1 Nome:

INF 1620 P2-01/11/03 Questão 1 Nome: INF 1620 P2-01/11/03 Questão 1 Considere a implementação de uma lista encadeada para armazenar as notas dos alunos de uma turma dada pelo tipo abaixo: struct lista { char nome[81]; int mat; float p1, p2,

Leia mais

Aula 14 Listas Duplamente Encadeadas. prof Leticia Winkler

Aula 14 Listas Duplamente Encadeadas. prof Leticia Winkler Aula 14 Listas Duplamente Encadeadas prof Leticia Winkler 1 Lista Duplamente Encadeada É um tipo de lista encadeada que pode ser vazia (NULL) ou que pode ter um ou mais nós, sendo que cada nó possui dois

Leia mais

Estrutura de Dados (DPADF 0056)

Estrutura de Dados (DPADF 0056) Estrutura de Dados (DPADF 0056) Aula 9 Listas Heterogêneas Universidade Federal de Santa Maria Colégio Agrícola de Frederico Westphalen Curso Superior de Tecnologia em Sistemas para Internet Prof. Bruno

Leia mais

ESTRUTURA DE DADOS VARIÁVEIS E PONTEIROS

ESTRUTURA DE DADOS VARIÁVEIS E PONTEIROS ESTRUTURA DE DADOS VARIÁVEIS E PONTEIROS Prof. Dr. Daniel Caetano 2014-2 Objetivos Compreender a organização dos dados na memória Compreender o que são ponteiros Capacitar para implementar programas com

Leia mais

Introdução a Programação. Listas Encadeadas

Introdução a Programação. Listas Encadeadas Introdução a Programação Listas Encadeadas Tópicos da Aula Hoje aprenderemos que existem, além de vetores, estruturas de dados dinâmicas que podem armazenar coleções de dados Estruturas Dinâmicas e Vetores

Leia mais

Listas Duplamente Encadeadas

Listas Duplamente Encadeadas 228 istas Duplamente Encadeadas Como vimos, uma lista circular possui vantagens sobre uma lista linear, contudo esta ainda possui limitações Por exemplo, não podemos percorrê-la no sentido contrário ou

Leia mais

ANHANGUERA ESTRUTURA DE DADOS AULA 04 MATRIZES, LISTAS E ALOCAÇÃO DINÂMICA. Prof. Thomás da Costa

ANHANGUERA ESTRUTURA DE DADOS AULA 04 MATRIZES, LISTAS E ALOCAÇÃO DINÂMICA. Prof. Thomás da Costa ANHANGUERA 2015.2 ESTRUTURA DE DADOS AULA 04 Prof. Thomás da Costa thomascosta@aedu.com O que é: Matrizes São vetores que possuem duas ou mais dimensões para armazenar valores. Uma matriz de duas dimensões,

Leia mais

Tabelas Hash. Prof. Túlio Toffolo BCC202 Aulas 23 e 24 Algoritmos e Estruturas de Dados I

Tabelas Hash. Prof. Túlio Toffolo  BCC202 Aulas 23 e 24 Algoritmos e Estruturas de Dados I Tabelas Hash Prof. Túlio Toffolo http://www.toffolo.com.br BCC202 Aulas 23 e 24 Algoritmos e Estruturas de Dados I Pesquisa em Memória Primária Introdução - Conceitos Básicos Pesquisa Sequencial Pesquisa

Leia mais

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

Listas Estáticas. SCC Algoritmos e Estruturas de Dados I. Prof. Fernando V. Paulovich. *Baseado no material do Prof. Listas Estáticas SCC0202 - Algoritmos e Estruturas de Dados I Prof. Fernando V. Paulovich *Baseado no material do Prof. Gustavo Batista http://www.icmc.usp.br/~paulovic paulovic@icmc.usp.br Instituto de

Leia mais

Árvores Binárias de Busca (ABB) 18/11

Árvores Binárias de Busca (ABB) 18/11 Árvores Binárias de Busca (ABB) 18/11 Definição Uma Árvore Binária de Busca possui as mesmas propriedades de uma AB, acrescida da seguintes propriedade: Para todo nó da árvore, se seu valor é X, então:

Leia mais

Árvores & Árvores Binárias

Árvores & Árvores Binárias Árvores & Árvores Binárias Problema Implementações do TAD Lista Linear Lista encadeada eficiente para inserção e remoção dinâmica de elementos, mas ineficiente para busca Lista seqüencial (ordenada) Eficiente

Leia mais

Aula 7 Encadeamento de Memória

Aula 7 Encadeamento de Memória Aula 7 Encadeamento de Memória Universidade Federal de Santa Maria Colégio Agrícola de Frederico Westphalen Curso Superior de Tecnologia em Sistemas para Internet Prof. Bruno B. Boniati www.cafw.ufsm.br/~bruno

Leia mais

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

Listas (Parte 1) Túlio Toffolo  BCC202 Aula 09 Algoritmos e Estruturas de Dados I Listas (Parte 1) Túlio Toffolo tulio@toffolo.com.br www.toffolo.com.br BCC202 Aula 09 Algoritmos e Estruturas de Dados I Ementa do Curso Tipos Abstratos de Dados / Alocação Dinâmica Análise de Algoritmos

Leia mais

Estruturas de Dados Estruturas de Dados Fundamentais

Estruturas de Dados Estruturas de Dados Fundamentais Estruturas de Dados Estruturas de Dados Fundamentais Prof. Eduardo Alchieri Estruturas de Dados Fundamentais Todos os tipos abstratos de dados (pilhas, filas, deques, etc.) podem ser implementados usando

Leia mais

Listas e matrizes esparsas Orthogonal List Representation (Listas Cruzadas) 21/10/2010

Listas e matrizes esparsas Orthogonal List Representation (Listas Cruzadas) 21/10/2010 Listas e matrizes esparsas Orthogonal List Representation (Listas Cruzadas) 1/1/1 Matriz: definição Matriz é um arranjo (tabela) retangular de números dispostos em linhas e colunas 8 9 6 1 4 7 3 3x3 B

Leia mais

Matrizes Esparsas. Prof. Fernando V. Paulovich *Baseado no material do Prof. Gustavo Batista

Matrizes Esparsas. Prof. Fernando V. Paulovich *Baseado no material do Prof. Gustavo Batista Matrizes Esparsas SCC0202 - Algoritmos e Estruturas de Dados I Prof. Fernando V. Paulovich *Baseado no material do Prof. Gustavo Batista http://www.icmc.usp.br/~paulovic paulovic@icmc.usp.br Instituto

Leia mais

REVISÃO DE C. Vanessa Braganholo Estruturas de Dados e Seus Algoritmos

REVISÃO DE C. Vanessa Braganholo Estruturas de Dados e Seus Algoritmos REVISÃO DE C Vanessa Braganholo Estruturas de Dados e Seus Algoritmos REVISÃO DE C Ponteiros Alocação dinâmica de memória Recursão INSTITUTO DE COMPUTAÇÃO - UFF 2 PONTEIROS PONTEIROS C permite o armazenamento

Leia mais

Pesquisa em memória primária: hashing. Algoritmos e Estruturas de Dados II

Pesquisa em memória primária: hashing. Algoritmos e Estruturas de Dados II Pesquisa em memória primária: hashing Algoritmos e Estruturas de Dados II Hashing Algoritmos vistos efetuam comparações para localizar uma chave. Os registros armazenados em uma tabela são diretamente

Leia mais

Copiar para o ficheiro ArvoreBinaria.h e adaptar as funções associadas às operações sobre árvores binárias (3.1 a 3.12)

Copiar para o ficheiro ArvoreBinaria.h e adaptar as funções associadas às operações sobre árvores binárias (3.1 a 3.12) Considere as seguintes declarações (NodoArv e PNodoArv), adaptadas dos apontamentos: struct NodoArv { int Elemento; struct NodoArv *Esquerda; struct NodoArv *Direita; ; typedef struct NodoArv *PNodoArv;

Leia mais

INF 1620 P4-13/12/01 Questão 1 Nome:

INF 1620 P4-13/12/01 Questão 1 Nome: INF 1620 P4-13/12/01 Questão 1 (a) Escreva uma função em C, chamada somaprod, para calcular a soma e o produto de dois valores inteiros. Esta função deve ter o seguinte efeito: se tivermos duas variáveis

Leia mais

Módulo 4. Listas Encadeadas. Algoritmos e Estruturas de Dados II C++ (Rone Ilídio)

Módulo 4. Listas Encadeadas. Algoritmos e Estruturas de Dados II C++ (Rone Ilídio) Módulo 4 Listas Encadeadas Algoritmos e Estruturas de Dados II C++ (Rone Ilídio) 1 Ponteiro para struct Ponteiro pode apontar para qualquer tipo de dados A partir de um ponteiro para uma variável cujo

Leia mais

Filas Implementação Sequencial

Filas Implementação Sequencial SCE 202 182 Algoritmos e Estruturas de Dados I Filas Implementação Sequencial Conceito Coleção ordenada de itens (lista ordenada) em que a inserção de um novo item se dá em um dos lados no fim e a remoção

Leia mais

Árvores. Prof. César Melo DCC/ICE/UFAM

Árvores. Prof. César Melo DCC/ICE/UFAM Árvores Prof. César Melo DCC/ICE/UFAM Introdução As estruturas anteriores são chamadas de unidimensionais (ou lineares) Exemplo são vetores e listas Não podem ser usadas como hierarquias. Exemplo: árvore

Leia mais

INE5408 Estruturas de Dados

INE5408 Estruturas de Dados INE5408 Estruturas de Dados Estruturas de Dados básicas utilizando Vetores -Listas Lista - Definição Uma Lista é um conjunto de dados dispostos e / ou acessáveis em uma seqüência determinada. Este conjunto

Leia mais

Lista Encadeada Simples. Métodos Computacionais Victor Casé

Lista Encadeada Simples. Métodos Computacionais Victor Casé Lista Encadeada Simples Métodos Computacionais 2011.2 Victor Casé O que é? É um Tipo Abstrato de Dados Organizar os dados de forma Linear e Dinâmico Você pode pensar visualmente assim : Linear? Existem

Leia mais

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

Estrutura de Dados. Carlos Eduardo Batista. Centro de Informática - UFPB Estrutura de Dados Carlos Eduardo Batista Centro de Informática - UFPB bidu@ci.ufpb.br Listas e Filas Estruturas de Dados 2 Estrututuras de dados lineares Pilhas (stack) Estrutura de dados onde a inserção

Leia mais

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

Algoritmos e Estruturas de Dados. Prof. Marcelo Zorzan Profa. Melissa Zanatta Algoritmos e Estruturas de Dados Prof. Marcelo Zorzan Profa. Melissa Zanatta Assuntos da Aula Alocação de Memória Alocação estática de memória Alocação dinâmica de memória Malloc, Calloc, Free, Realloc

Leia mais

Universidade de São Paulo

Universidade de São Paulo Universidade de São Paulo Instituto de Ciências Matemáticas e Computação SCE5763 - Tipos e Estrutura de Dados - Luis Gustavo Nonato 2 a Lista de Exercícios 1. Seja A um array de inteiros. Escreva algoritmos

Leia mais

Árvores. Prof. César Melo DCC/ICE/UFAM

Árvores. Prof. César Melo DCC/ICE/UFAM Árvores Prof. César Melo DCC/ICE/UFAM Introdução As estruturas anteriores são chamadas de unidimensionais (ou lineares) Exemplo são vetores e listas Não adequadas para representar hierarquias. Exemplo:

Leia mais

Estruturas de Dados. Parte dos slides a seguir são adaptações, extensões e recodificações em C dos originais:

Estruturas de Dados. Parte dos slides a seguir são adaptações, extensões e recodificações em C dos originais: Estruturas de Dados Listas Dinâmicas Simplesmente Encadeadas Prof. Ricardo J. G. B. Campello Créditos Parte dos slides a seguir são adaptações, extensões e recodificações em C dos originais: disponíveis

Leia mais

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

Listas: nós de cabeçalho, listas não homogêneas, listas generalizadas Listas: nós de cabeçalho, listas não homogêneas, listas generalizadas SCC-502 Algoritmos e Estruturas de Dados I Prof. Thiago A. S. Pardo Lista com nó de cabeçalho Nó de cabeçalho Header, sentinela, etc.

Leia mais

Matrizes esparsas: definição

Matrizes esparsas: definição Matrizes esparsas: definição o objetivo é mostrar os métodos de armazenamento e manipulação de matrizes esparsas esparsidade de uma matriz é a relação entre o número de elementos nulos de uma matriz e

Leia mais

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

Listas ordenadas. Listas ordenadas. Listas ordenadas. Listas ordenadas. Listas ordenadas. Listas ordenadas. Definiçã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

Leia mais

Tabelas de dispersão/hash

Tabelas de dispersão/hash Tabelas de dispersão/hash 1 Tabelas de dispersão/hash 1. Considere uma tabela de hash de tamanho m = 1000 e a função de hash h(k)= [m.(k.a % 1)], com A=( 5-1)/2. Calcule os valores de hash das chaves 61,

Leia mais

Introdução a Programação. Tipos Abstratos de Dados Implementando Pilha e Fila

Introdução a Programação. Tipos Abstratos de Dados Implementando Pilha e Fila Introdução a Programação Tipos Abstratos de Dados Implementando Pilha e Fila Abstração Abstração é o processo ou resultado de generalização por redução do conteúdo da informação de um conceito ou fenômeno

Leia mais

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

REVISÃO DE PILHAS E FILAS. Vanessa Braganholo Estruturas de Dados e Seus Algoritmos REVISÃO DE PILHAS E FILAS Vanessa Braganholo Estruturas de Dados e Seus Algoritmos PILHAS E FILAS São tipos especiais de listas com disciplina restrita de acesso Acesso Consulta Inserção Remoção Disciplina

Leia mais

Árvore B. Uma Árvore B de ordem m éumaárvore,talque: Cada nó contém no máximo m

Árvore B. Uma Árvore B de ordem m éumaárvore,talque: Cada nó contém no máximo m Árvore B Uma Árvore B de ordem m éumaárvore,talque: Cada nó contém no máximo m 1valores; Os valores dentro de cada nó estão ordenados; Todos os valores na subárvore esquerda de um valor são menores que

Leia mais

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

Fila e Deque. SCC Algoritmos e Estruturas de Dados I. Prof. Fernando V. Paulovich. *Baseado no material do Prof. Fila e Deque SCC0202 - Algoritmos e Estruturas de Dados I Prof. Fernando V. Paulovich *Baseado no material do Prof. Gustavo Batista http://www.icmc.usp.br/~paulovic paulovic@icmc.usp.br Instituto de Ciências

Leia mais

Pesquisa em Memória Primária Hashing

Pesquisa em Memória Primária Hashing Pesquisa em Memória Primária Hashing Livro Projeto de Algoritmos Nívio Ziviani Capítulo 5 Seções 5.5 http://www2.dcc.ufmg.br/livros/algoritmos/ ( Hashing ) Transformação de Chave Os registros armazenados

Leia mais

Algoritmos e Estruturas de Dados I

Algoritmos e Estruturas de Dados I Algoritmos e Estruturas de Dados I Aula 09 Revisão + Simulado Prof. Jesús P. Mena-Chalco jesus.mena@ufabc.edu.br 1Q-2019 1 Vetores 2 Vetores 3 Vetores vetor 4 Vetores... vetor... 5 Ponteiros 6 Processo

Leia mais

Fila. Algoritmos e Estruturas de Dados I

Fila. Algoritmos e Estruturas de Dados I Fila Algoritmos e Estruturas de Dados I Fila O que é? Para que serve? 2 Biblioteca Problema: automação de uma biblioteca Todos os livros devem ser cadastrados O sistema deve informar se um livro está disponível

Leia mais

Árvores Binárias. SCC Algoritmos e Estruturas de Dados I. Prof. Fernando V. Paulovich

Árvores Binárias. SCC Algoritmos e Estruturas de Dados I. Prof. Fernando V. Paulovich Árvores Binárias SCC0202 - Algoritmos e Estruturas de Dados I Prof. Fernando V. Paulovich *Baseado no material do Prof. Gustavo Batista. Figuras editadas por Isadora Maria Mendes http://www.icmc.usp.br/~paulovic

Leia mais

L I C R P * * V O * * A * A F * * * * *

L I C R P * * V O * * A * A F * * * * * UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA Bacharelado em Ciência da Computação e Engenharia da Computação INF 01203 Estruturas de Dados Profa. Renata Galante (galante@inf.ufrgs.br

Leia mais

Estrutura de Dados. Estrutura de Dados Recursividade. Exemplo: 5! = 5 x 4! 4! = 4 x 3! 3! = 3 X 2! 2! = 2 x 1! 1! = 1 x 0!

Estrutura de Dados. Estrutura de Dados Recursividade. Exemplo: 5! = 5 x 4! 4! = 4 x 3! 3! = 3 X 2! 2! = 2 x 1! 1! = 1 x 0! Rafael D. Ribeiro, M.Sc. rafaeldiasribeiro@gmail.com http://www.rafaeldiasribeiro.com.br Exemplo: 5! = 5 x 4! 4! = 4 x 3! 3! = 3 X 2! 2! = 2 x 1! 1! = 1 x 0! Fatorial de 0 = 1 Recursividade 1 Recursividade

Leia mais