Listas Lineares. Alocação Encadeada. Notas de aula da disciplina IME ESTRUTURAS DE DADOS I
|
|
- Ângelo Tomé Alcântara
- 5 Há anos
- Visualizações:
Transcrição
1 Notas de aula da disciplina I STUTUAS D DADOS I Paulo ustáuio Duarte Pinto (pauloedp arroba ime.uerj.br) Listas encadeadas: - Conceitos - Buscas/Inserções/deleções de elementos - Pilhas e Filas - Listas Circulares e Listas Duplamente s junho/208 Conceito: Listas encadeadas são listas onde os elementos consecutivos podem não ocupar posições consecutivas na memória. ntão há um ponteiro para o próximo elemento da lista. epresentação: Link Inicial F A Nó Chave Ponteiro (Link) Link Nulo Declaração em Tupy: tipo lista: caracter c lista prox Declaração em C/C++: typedef struct node *lista; struct node { char c; lista prox;} Link Nulo: nulo (Tupy), NULL (C/C++). de um nó: Nó p Nó() (Tupy). lista p = malloc(sizeof *p); (C). p = new(no); (C++). feito de um comando Alocar: o Sistema Operacional retira espaço da Pilha de spaço Disponível (PD) e retorna o endereço. p F A eferência a um elemento de um nó: p.c F p.prox A p->c (C/C++). Desalocação de um nó: desalocar (p); free(p); (C/C++). feito de um comando Desalocar: o espaço é retornado para a PD. Outras referências: p.prox.c A p.prox.prox A
2 Nó eça: É comum utilizar o primeiro nó como nó especial, ou nó eça. Nó retaguarda: Às vezes usa-se também um nó especial no final. ret Impressão de uma lista com eça e sem retaguarda: Imprime(): #Dados: lista com nó eça p.prox enuanto (p nulo): escrever (p.c) p p.prox xercício: reescrever a impressão de uma lista com eça e retaguarda: ret Três maneiras de criar a lista abaixo: Alg(): Nó();.c ; p Nó(); p.c 2; Nó();.c 3;.prox p; p.prox ;.prox nulo; Alg2(): Nó();.c ; p Nó(); p.c 2;.prox p; p Nó(); p.c 3;.prox.prox p; p.prox nulo; Nó(); p ; p.c ; p.prox Nó(); p p.prox; Alg(): Nó();.c ; p Nó(); p.c 2; Nó();.c 3;.prox p; p.prox ;.prox nulo; p Alg(): Nó();.c ; p Nó(); p.c 2; Nó();.c 3;.prox p; p.prox ;.prox nulo; p -00??? ??
3 Alg(): Nó();.c ; p Nó(); p.c 2; Nó();.c 3;.prox p; p.prox ;.prox nulo; p Alg(): Nó();.c ; p Nó(); p.c 2; Nó();.c 3;.prox p; p.prox ;.prox nulo; p ?? ? Alg(): Nó();.c ; p Nó(); p.c 2; Nó();.c 3;.prox p; p.prox ;.prox nulo; p Alg(): Nó();.c ; p Nó(); p.c 2; Nó();.c 3;.prox p; p.prox ;.prox nulo; p ? Alg(): Nó();.c ; p Nó(); p.c 2; Nó();.c 3;.prox p; p.prox ;.prox nulo; p Alg(): Nó();.c ; p Nó(); p.c 2; Nó();.c 3;.prox p; p.prox ;.prox nulo; p
4 Alg(): Nó();.c ; p Nó(); p.c 2; Nó();.c 3;.prox p; p.prox ;.prox nulo; p Alg(): Nó();.c ; p Nó(); p.c 2; Nó();.c 3;.prox p; p.prox ;.prox nulo; p Nó(); p ; p.c ; p.prox Nó(); p p.prox; p Nó(); p ; p.c ; p.prox Nó(); p p.prox; p -00?? ? Nó(); p ; p.c ; p.prox Nó(); p p.prox; p Nó(); p ; p.c ; p.prox Nó(); p p.prox; p
5 No(); p ; p.c ; p.prox Nó(); p p.prox; p Nó(); p ; p.c ; p.prox Nó(); p p.prox; p Nó(); p ; p.c ; p.prox Nó(); p p.prox; p Nó(); p ; p.c ; p.prox Nó(); p p.prox; p Nó(); p ; p.c ; p.prox Nó(); p p.prox; p Nó(); p ; p.c ; p.prox Nó(); p p.prox; p
6 Duas maneiras de criar a lista abaixo, com n nós: Nó(); p ; p.c ; p.prox Nó(); p p.prox; p Cria(): #Dados: inteiro n para i até n incl.: p Nó() p.c i se (i = ): p.prox p p p.prox nulo 2... n Cria2(): #Dados: inteiro n Nó() p p.c para i 2 até n incl.: p.prox Nó() p p.prox p.c i p.prox nulo xercício: explicar o ue faz o seguinte algoritmo, em relação a uma lista encadeada sem nó eça: Três maneiras de inverter uma lista encadeada Primeira: usar o algoritmo do exercício anterior, ue só faz alteração em links. B P V J Segunda: usar o algoritmo abaixo, ue empilha os valores dos nós e depois varre novamente a lista, alterando os conteúdos dos nós. Algoritmo misterioso() #Dados: lista p ; r nulo; enuanto (p nulo): t p.prox; p.prox r; r p; p t; r Inverte2(): #Dados: lista p enuanto (p nulo): PUSH (p.c) p p.prox p enuanto (p nulo): v POP (); p.c v; p p.prox Três maneiras de inverter uma lista encadeada Terceira: usar o algoritmo abaixo, ue empilha os links na pilha S e depois desempilha, alterando as ligações entre os nós. Inverte3(): #Dados: lista p enuanto (p nulo): PUSH (p) p p.prox POP(p); p; enuanto (topo 0): p.prox S[topo] p POP() p.prox nulo Busca em uma lista encadeada: Busca(k): #Dados: lista com nó eça, chave k p.prox; pont nulo; enuanto (p nulo): se (p.c k): p p.prox pont p; p nulo; retornar pont 6
7 Busca em uma lista encadeada ordenada: Inserção em uma lista encadeada não ordenada: (ant, pont) Busca(k): #Dados: lista com nó eça, chave k ant ; p.prox; pont nulo; enuanto (p nulo): se (p.c < k): ant p; p p.prox; se (p.c = k): pont p p nulo G retornar (ant, pont) Inserção em uma lista encadeada não ordenada: Inserção em uma lista encadeada ordenada: G G Nó Inserção(k): #Dados: lista com nó eça, chave k pont Busca(k) se (pont = nulo): p Nó(); p.c k; p.prox.prox;.prox p; p nulo retornar p Inserção em uma lista encadeada ordenada: emoção em uma lista encadeada ordenada: G Nó Inserção(k): #Dados: lista com nó eça, chave k (ant, pont) Busca(k) se (pont = nulo): p Nó(); p.c k; p.prox ant.prox; ant.prox p; p nulo retornar p 7
8 emoção em uma lista encadeada ordenada: xercício: escrever um algoritmo para somar os elementos de posição par em uma lista encadeada contendo inteiros. x: Na lista abaixo a soma é 62 (29+33): Nó emoção(k): #Dados: lista com nó eça, chave k (ant, pont) Busca(k) se (pont nulo): ant.prox pont.prox; Desalocar(pont); ant nulo retornar ant xercício: escrever um algoritmo para transformar um número inteiro peueno para a representação de inteiro grande, em uma lista encadeada. x: o número 3594 seria representado como: xercício: escrever um algoritmo somar 2 grandes números representados em listas encadeadas xercício: escrever um algoritmo multiplicar um número peueno por um número grande representado em listas encadeadas. erge de Listas encadeadas (ordenadas): 5 7 x
9 Nó erge(nó, Nó 2): #Dados: listas encadeadas com nós eça e 2 p.prox; 2.prox; Nó(); r ; enuanto (p nulo e nulo): se (p.c <.c): r.prox p; p p.prox; r.prox ;.prox; r r.prox se (p nulo): r.prox p r.prox.prox nulo; retornar 2.prox nulo; Diferença de conjuntos: dados o conjunto A representado na lista (ordenada) e o conjunto B, na lista 2 (ordenada), escrever um algoritmo para encontrar C = A-B Nesta solução as duas listas iniciais são esvaziadas. 5 2 Nó Diferança(Nó, Nó 2): #Dados: listas encadeadas com nós eça e 2 p.prox; 2.prox; Nó(); r ; enuanto (p nulo e nulo): se (p.c <.c): r.prox Nó(); r r.prox; r.c p.c; p p.prox; senão se (p.c =.c):.prox; p p.prox;.prox; enuanto (p nulo): r.prox Nó(); r r.prox; r.c p.c; p p.prox; r.prox nulo; retornar Nesta solução as duas listas iniciais são mantidas. Pilhas como listas encadeadas: svazia: topo nulo; Nó PUSH(k): p Nó() p.c k; p.prox topo; topo p; retornar topo inteiro POP(): se (topo nulo): p topo; k p.c; topo topo.prox; desalocar(p); k nulo retornar k topo Filas como listas encadeadas: f 4 nfila(k): p Nó(); p.c k; p.prox nulo; se (r nulo): r.prox p f p r p 5 3 Nó Desenfila(): se (f nulo):; p f; k p.c; f f.prox; desalocar(p); se (f = nulo): r nulo k nulo retornar k 9 svazia: f nulo; r nulo; r Ordenação por distribuição: ste método de ordenação trabalha com a representação decimal dos números e executa tantos passos sobre o conjunto de números uantos sejam os dígitos do número. m cada passo uma posição é examinada. le tem uma máuina correspondente: a classificadora de cartões. xemplo: {98, 472, 266, 002, 209, 403, 353, 253, 6} 9
10 Ordenação por distribuição - xemplo {98, 472, 266, 002, 209, 403, 353, 253, 6} Passo 0 - criação da fila 0. Ordenação por distribuição - xemplo Passo - Distribuição segundo o dígito. f 0 r Fila : 98 f r 0 Fila 2: Fila 3: Fila 6: Fila 9: 209 Ordenação por distribuição - xemplo {98, 472, 266, 002, 209, 403, 353, 253, 6} Fim do passo - Aglomeração das filas. Ordenação por distribuição - xemplo Passo 2 - Distribuição segundo o dígito 2. f 0 r Fila 0: f 0 r 0 Fila : Fila 5: Fila 6: 266 Fila 7: 472 Fila 8: 98 Ordenação por distribuição - xemplo {98, 472, 266, 002, 209, 403, 353, 253, 6} Fim do passo 2 - Aglomeração das filas. Ordenação por distribuição - xemplo Passo 3 - Distribuição segundo o dígito 3. f 0 r Fila 0: 002 f 0 r 0 Fila : Fila 2: Fila 3: 353 Fila 4: Fila 9: 98 0
11 Ordenação por distribuição - xemplo {98, 472, 266, 002, 209, 403, 353, 253, 6} Fim do passo 3 - Aglomeração das filas. (fim da ordenação) f r 0 Ordenação por distribuição: Distribuição(): #Dados: inteiro V[*], nd CriaFila0(); para d até nd incl.: para i até n incl.: p Desenfila (0); m Digito (d, p.c); nfila (m, p); para j 0 até 9 incl.: enuanto (Filas[j].f nulo): p Desenfila (j); nfila (0, p); Complexidade: (n.nd) Análise da Ordenação por Distribuição: Complexidade: Pior caso = elhor caso: (n.nd) stabilidade (manutenção da ordem relativa de chaves iguais): Algoritmo estável emória adicional: Praticamente nenhuma memória adicional Usos especiais: Chaves peuenas Listas circulares: B Nó Busca_circular(k): #Dados: lista, chave k.c k; pont.prox; enuanto (pont.c k): pont pont.prox se (pont = ): pont nulo retornar pont X C Listas Duplamente s Ordenadas: B C X Listas Duplamente s Ordenadas- Inserção: B C X Nó Busca_dupla(k): #Dados: lista, chave k.c k; pont.prox; enuanto (pont.c < k): pont pont.prox retornar pont Nó Inserção_dupla(k): #Dados: lista, chave k pont Busca_dupla(k) se (pont = ) ou (pont.c k): pont.ante p Nó(); p.c k; p.prox pont; p.ante pont.ante;.prox p; pont.ante p; p nulo retornar p
12 Listas Duplamente s - emoção: B C X xercício: dado o grid encadeado: a) escrever um algoritmo ue soma todos os números do grid b) escrever um algoritmo ue encontra o maior elemento do grid. Nó emoção_dupla(k): #Dados: lista, chave k pont Busca_dupla(k) se (pont ) e (pont.c = k): pont.ante; p pont.prox;.prox p; p.ante ; Desalocar (pont) p nulo retornar p Fim 2
HASHING HASHING HASHING HASHING. HASHING - Função hash - Propriedades HASHING. Notas de aula da disciplina IME Estruturas de Dados I
Notas de aula da disciplina IE - Estruturas de Dados I Paulo Eustáquio Duarte Pinto (pauloedp arroba ime.uerj.br) Árvores de Busca: Atualização/Busca - caso médio: O(log n) Atualização/Busca - pior caso:
HASHING. Árvores de Busca: Atualização/Busca - caso médio: O(log n) Atualização/Busca - pior caso: O(log n)
Notas de aula da disciplina E - Estruturas de Dados Paulo Eustáquio Duarte Pinto (pauloedp arroba imeuerjbr) setembro/ Árvores de Busca: tualização/busca - caso médio: O(log n) tualização/busca - pior
Professora Jeane Melo
Professora Jeane Melo Roteiro Lista Encadeada Alocação: Estática x Dinâmica O que são Ponteiros? Ponteiros Variáveis que Armazenam Endereços de Memória Mas, toda variável não é armazenada na memória? Ponteiros
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
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
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
Pilhas e Filas. Nádia Félix e Hebert Coelho
Pilhas e Filas Nádia Félix e Hebert Coelho Vários slides foram adaptados de Nina Edelwais e Renata Galante Estrutura de Dados Série de Livros Didáticos - Informática - UFRGS Pilhas e filas Listas lineares
Computadores Digitais 2. Prof. Rodrigo de Souza Couto
Computadores Digitais 2 Linguagens de Programação DEL-Poli/UFRJ Prof. Miguel Campista Tópicos Listas Encadeadas Introdução às listas encadeadas Manipulação de elementos Implementações recursivas Listas
Atividade de laboratório listas encadeadas simples
Atividade de laboratório listas encadeadas simples 1. Estrutura básica Uma lista encadeada simples é uma estrutura de dados composta de uma seqüência de estruturas elementares chamadas nós. Cada nó contém
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
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
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)
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
UNIVERSIDADE DA BEIRA INTERIOR
UNIVERSIDADE DA BEIRA INTERIOR Algoritmos e Estruturas de Dados - Bioengenharia 2º Semestre Frequência Resolução 19/maio/2015 A. [3.5 val] Algoritmos de ordenação e de pesquisa Considere-se as seguintes
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
Estruturas de Dados. Módulo 11 Pilhas. 9/8/2005 (c) Dept. Informática - PUC-Rio 1
Estruturas de Dados Módulo 11 Pilhas 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)
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
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
Lista: conceito, representação e algoritmos
Lista: conceito, representação e algoritmos SCC0202 Algoritmos e Estruturas de Dados I Prof. Thiago A. S. Pardo Problema Imaginem a situação da automação de uma biblioteca Todos os livros devem ser cadastrados
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
SCC Algoritmos e Estruturas de Dados I
SCC 202 - Algoritmos e Estruturas de Dados I TAD Pilha Lembrem...TADs são tipos definidos em termos de seu comportamento e não de sua representação (que pode variar na busca de eficiência) 12/8/2010 Pilha
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
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 Tópicos Introdução Alocação sequencial Listas lineares,
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,
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
INF 1620 P2-23/10/04 Questão 1 Nome:
INF 1620 P2-23/10/04 Questão 1 Considere um tipo abstrato de dados para representar uma disciplina da PUC-Rio, com as seguintes informações: Nome da disciplina: com até 50 caracteres Código da disciplina:
Estrutura de Dados: Aula 3 - Linguagem C
Estrutura de Dados: Aula 3 - Linguagem C Uso de Memória Alocação de memória Estática Ocorre em tempo de compilação no momento em que se define uma variável ou estrutura é necessário que se definam seu
TCC Prof.: Leandro A. F. Fernandes Conteúdo: Listas Lineares
Programação de Computadores II TCC 00.174 Prof.: Leandro A. F. Fernandes www.ic.uff.br/~laffernandes Conteúdo: Material elaborado pelos profs. Anselmo Montenegro e Marcos Lage com contribuições do prof.
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
Introdução à Análise Algoritmos
Introdução à Análise Algoritmos Notas de aula da disciplina IME 4-182 Estruturas de Dados I Paulo Eustáquio Duarte Pinto (pauloedp arroba ime.uerj.br) abril/218 Ordenação por SELEÇÃO: Idéia: Dado um vetor
Listas Duplamente Encadeadas
Listas Duplamente Encadeadas! quando for preciso seguir a seqüência de elementos em ambos os sentidos! cada nó possui dois ponteiros: ant e prox ant prox a b c d Início Fim 1 Listas Duplamente Encadeadas
CES-11. Pilhas Definição Operações Filas. Operações Deques. Definição. Operações
CES-11 Pilhas Definição Operações Filas Definição Operações Deques Definição Operações PILHAS, FILAS E DEQUES As listas lineares admitem inserção e eliminação em qualquer posição. Pilhas, filas e deques
1. Listas sequenciais versus listas ligadas. Lista sequencial
Alocação Dinâmica Listas Ligadas 1. Listas sequenciais versus listas ligadas Lista sequencial Uma lista sequencial é um conjunto de elementos contíguos na memória. Um vetor é o melhor exemplo de lista
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
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
INF P4-12/12/09 Questão 1 Nome:
INF 1007 - P4-12/12/09 Questão 1 QUESTÃO OBRIGATÓRIA [Valor: 2,5 pontos] Escreva um programa completo em C que leia do teclado um caractere e uma cadeia de caracteres e escreva quantas vezes aquele caractere
Lista: conceito, representação e algoritmos
Lista: conceito, representação e algoritmos SCC0502 Algoritmos e Estruturas de Dados I Prof. Thiago A. S. Pardo Problema Imaginem a situação da automação de uma biblioteca Todos os livros devem ser cadastrados
INF 1007 Programação II
INF 1007 Programação II Aula 13 Pilhas Edirlei Soares de Lima Pilha Uma pilha é uma estrutura de dados dinâmica na qual novos elementos são sempre inseridos no topo da pilha e acessados
UNIVERSIDADE DA BEIRA INTERIOR
UNIVERSIDADE DA BEIRA INTERIOR Algoritmos e Estruturas de Dados - Bioengenharia 2º Semestre Exame Época Normal Resolução 13/junho/2015 A. [3.5 val] Algoritmos de ordenação e de pesquisa Considere-se as
SCC Algoritmos e Estruturas de Dados I
SCC 202 - Algoritmos e Estruturas de Dados I TAD Pilha Sequencial Estática e Encadeada Dinâmica 17 e 19/8/2010 Exercício: Implementação da pilha sequencial e estática Declaração em C escondendo a ED do
SCC 202 Algoritmos e Estruturas de Dados I. Pilhas (Stacks) (implementação dinâmica)
SCC 202 Algoritmos e Estruturas de Dados I Pilhas (Stacks) (implementação dinâmica) Operações alocação encadeada dinâmica typedef struct elem{ tipo_info info; struct elem *lig; tipo_elem; typedef struct{
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
Lista: conceito, representação e algoritmos
Alocação seqüencial vs. encadeada Lista: conceito, representação e algoritmos Alocação seqüencial: elementos são alocados em seqüência; seqüência física Baseado no material de Thiago A. S. Pardo Algoritmos
INF1007 Programação 2 9 Pilhas. (c) Dept. Informática - PUC-Rio 1
INF1007 Programação 2 9 Pilhas (c) Dept. Informática - PUC-Rio 1 Tópicos Principais Introdução Interface do tipo pilha Exemplo de uso: verificação de expressões Implementação de pilha com lista encadeada
Método Guloso. Troco mínimo. Paulo Eustáquio Duarte Pinto (pauloedp arroba ime.uerj.br) junho/2012. Troco mínimo. Troco mínimo
Notas de aula da disciplina IME - ALGORITMOS E ESTRUTURAS DE DADOS II Paulo Eustáquio Duarte Pinto (pauloedp arroba ime.uerj.br) Troco mínimo Dados os tipos de moedas de um país, determinar o número mínimo
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)
Pilhas. ser acessada somente por uma de suas extremidades. pelo topo. S Uma pilha é uma estrutura linear de dados que pode
Pilhas e Filas Pilhas Uma pilha é uma estrutura linear de dados que pode ser acessada somente por uma de suas extremidades. Uma pilha é uma lista LIFO (do inglês last-in-first out) o último a entrar é
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
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
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
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
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
INF 1620 P4-09/07/03 Questão 1 Nome:
INF 1620 P4-09/07/03 Questão 1 Um ponto geométrico no espaço 2D é representado pelas coordenadas reais x e y. Considere uma aplicação que precisa manipular pontos, através da implementação de duas funções.
ESTRUTURA DE DADOS ESTRUTURAS E PONTEIROS
ESTRUTURA DE DADOS ESTRUTURAS E PONTEIROS Prof. Dr. Daniel Caetano 2012-2 Objetivos Compreender o que são estruturas Compreender sua aplicação Compreender o que são ponteiros Capacitar para implementar
Aula 11 Pilha Dinâmica. prof Leticia Winkler
Aula 11 Pilha Dinâmica prof Leticia Winkler 1 Pilha Dinâmica (Dynamic Stack) Pilha implementada através de uma lista linear encadeada. É uma lista linear encadeada em que as operações de inserção e retirada
Lista de Exercícios sobre Listas Implementadas por Encadeamento
Lista de Exercícios sobre Listas Implementadas por Encadeamento 1) Se você tem de escolher entre uma representação por lista encadeada ou uma representação usando posições contíguas de memória para um
ÁRVORES BINÁRIAS DE BUSCA. Vanessa Braganholo Estruturas de Dados e Seus Algoritmos
ÁRVORES BINÁRIAS DE BUSCA Vanessa Braganholo Estruturas de Dados e Seus Algoritmos REFERÊNCIA Szwarcfiter, J.; Markezon, L. Estruturas de Dados e seus Algoritmos, 3a. ed. LTC. Cap. 4 INSTITUTO DE COMPUTAÇÃO
ASSOCIAÇÃO PARAIBANA DE ENSINO RENOVADO FACULDADE PARAIBANA DE PROCESSAMENTO DE DADOS ESTRUTURA DE DADOS
ASSOCIAÇÃO PARAIBANA DE ENSINO RENOVADO FACULDADE PARAIBANA DE PROCESSAMENTO DE DADOS ESTRUTURA DE DADOS INTRODUÇÃO O que é uma Estrutura de Dados (ED)?? Tipos de Dados? Estruturas de Dados e? Tipos Abstratos
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
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
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
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
Estruturas de Dados Filas
Estruturas de Dados Filas Roteiro Introdução Definição de Fila (Queue) Aplicações Operações sobre Fila Implementação de Fila Com vetores Com listas encadeadas Exercícios Introdução Estamos acostumados
Pilha. SCC-202 Algoritmos e Estruturas de Dados I. Lucas Antiqueira
Pilha SCC-202 Algoritmos e Estruturas de Dados I Lucas Antiqueira Pilha O que é? Para que serve? 2 Problema: chamada de sub-rotinas Rotina A 1 print A 2 call C 3 call B 4 call D 5 return Rotina B 1 call
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
Estrutura de Dados II. Prof. Sérgio Portari
Estrutura de Dados II Prof. Sérgio Portari - 2016 Plano de Ensino EMENTA: Filas, Árvores e suas generalizações: árvores binárias, árvores de busca, árvores balanceadas, árvores B e B+. Aplicações de árvores
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
INF 1620 P4-27/06/02 Questão 1 Nome:
INF 1620 P4-27/06/02 Questão 1 Considere o tipo que representa uma grandeza vetorial (com três componentes) dado por: struct vetor { float x; float y; float z; }; typedef vetor Vetor; Pede-se: (a) Escreva
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 ordenadas SCC-202 Algoritmos e Estruturas de Dados I rof. Thiago A. S. ardo Listas ordenadas Defção Listas em que os elementos estão ordenados por algum critério Em geral, por ordem alfabética Ana
Departamento de Informática - PUC-Rio INF 1007 Programação 2 P3 23/06/2010
Departamento de Informática - PUC-Rio INF 1007 Programação 2 P3 23/06/2010 Aluno: Instruções: 1) Escreva seu nome completo, matrícula e turma em todas as folhas desta prova; 2) A prova deve ser completamente
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
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
Árvores Binárias de Busca
Árvores Binárias de Busca 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
i a[i]
Técnicas de Hashing Outra forma de se fazer busca em uma tabela, é construir-se a tabela de forma a facilitar a busca, colocando-se cada elemento numa posição pré-determinada. Tal posição é obtida aplicando-se
Conceitos. Pilhas e Filas. Conceitos e Implementação em linguagem C. Maria Adriana Vidigal de Lima. Março
Conceitos e Implementação em linguagem C Março - 2009 1 Conceitos 2 Organização dos dados Em determinadas aplicações, as pilhas e filas representam estruturas de dados importantes, nas quais seus elementos
Fontes Bibliográficas. Estruturas de Dados Aula 15: Árvores. Livros:
Fontes Bibliográficas Estruturas de Dados Aula 15: Árvores Livros: Introdução a Estruturas de Dados (Celes, Cerqueira e Rangel): Capítulo 13; Projeto de Algoritmos (Nivio Ziviani): Capítulo 5; Estruturas
Edital de Seleção 024/2017 PROPESP/UFAM. Prova de Conhecimento. Caderno de Questões
Edital de Seleção 024/2017 PROPESP/UFAM Prova de Conhecimento Caderno de Questões CANDIDATO: «Nome» INSCRIÇÃO: «Inscrição» Assinatura conforme identidade INSTRUÇÕES PARA O CANDIDATO: Verifique o seu nome
ESTRUTURA DE DADOS FILAS DINÂMICAS
ESTRUTURA DE DADOS FILAS DINÂMICAS Prof. Dr. Daniel Caetano 202-2 Objetivos Compreender o conceito de encadeada Usar s dinâmicas para aplicações Conhecer as vantagens e desvantagens das s encadeadas Atividade
PRIMEIRA AVALIAÇÃO IDENTIFICAÇÃO. Nome: 04/05/2011
UNIVRSIDAD FDRAL DO RIO GRAND DO SUL INSTITUTO D INFORMÁTICA Bacharelado em Ciência da Computação e ngenharia da Computação INF 01203 struturas de Dados Profa. Renata Galante (galante@inf.ufrgs.br ) PRIMIRA
08/08/2011. Pilha. SCC0202 Algoritmos e Estruturas de Dados I. Prof. Thiago A. S. Pardo. Pilha. O que é? Para que serve?
Pilha SCC0202 Algoritmos e Estruturas de Dados I Prof. Thiago A. S. Pardo Pilha O que é? Para que serve? 2 1 Rotina A 1 print A 2 call C 3 call B 4 call D Rotina B 1 call C 2 print B 3 call D 4 call C
Bruno Hott Algoritmos e Estruturas de Dados I DECSI UFOP. Alocação Dinâmica de Memória
Bruno Hott Algoritmos e Estruturas de Dados I DECSI UFOP Alocação Dinâmica de Memória Alocação Estática x Dinâmica C: dois tipos de alocação de memória: Estática e Dinâmica Na alocação estática, o espaço
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
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
INF 1620 P4-06/12/02 Questão 1 Nome:
INF 1620 P4-06/12/02 Questão 1 (a) Escreva uma função em C que receba como parâmetro um número inteiro não negativo e retorne, como resultado da função, o valor do seu fatorial. O cabeçalho desta função
Tipos e Estruturas de Dados Profa. Graça Nunes Lista de Exercícios (Listas Encadeadas, Duplamente Encadeadas e Circulares)
Tipos e Estruturas de Dados Profa. Graça Nunes Lista de Exercícios (Listas Encadeadas, Duplamente Encadeadas e Circulares) 1. Refaça todos os itens do exercício 1 da Lista de Exercícios anterior (Listas
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
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
CES-11. Algoritmos e Estruturas de Dados. Árvores Operações sobre uma árvore Estruturas para armazenar árvores
ES- Algoritmos e Estruturas de ados ES- ontígua ontígua melhorada arlos Alberto Alonso Sanches uliana de Melo Bezerra ES- ontígua ontígua melhorada Operações sobre uma árvore é o tipo correspondente a
BOAS PRÁTICAS DE PROGRAMAÇÃO*
BOAS PRÁTICAS DE PROGRAMAÇÃO* Fernando Alva Manchego estagiário PAE e-mail: falva@icmc.usp.br SCC0202 ALGORITMOS E ESTRUTURA DE DADOS I - 29/08/2011 *MATERIAL ELABORADO A PARTIR DO GUIA DE CODIFICAÇÃO
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
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
Matrizes Esparsas. SCC Algoritmos e Estruturas de Dados I. Prof. Fernando V. Paulovich. *Baseado no material do Prof.
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 Matemáticas
2ª Lista de Exercícios
Universidade Federal de Minas Gerais Departamento de Ciência da Computação Algoritmos e Estruturas de Dados II (Turmas M, N, W, F) 1º Semestre de 2012 Profs. Camilo Oliveira, Gisele Pappa, Ítalo Cunha,
Alocação Dinâmica de Memória. David Menotti Algoritmos e Estruturas de Dados II DInf UFPR
Alocação Dinâmica de Memória David Menotti Algoritmos e Estruturas de Dados II DInf UFPR Alocação Estática x Dinâmica C: dois tipos de alocação de memória: Estática e Dinâmica Na alocação estática, o espaço
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,
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:
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
Á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:
Alocação de Memória. Lucas Ferrari de Oliveira Professor Adjunto Universidade Federal do Paraná (UFPR)
Alocação de Memória Linguagem de Programação Estruturada 1 Alocação dinâmica e ponteiros Lucas Ferrari de Oliveira Professor Adjunto Universidade Federal do Paraná (UFPR) Sumario Introdução Alocação Estática