INF 1010 Estruturas de Dados Avançadas
|
|
|
- Antônio Vilanova Santarém
- 7 Há anos
- Visualizações:
Transcrição
1 INF Estruturas de Dados Avançadas Grafos // DI, PUC-Rio Estruturas de Dados Avançadas.
2 Algoritmo de Dijkstra 8 8
3 Algoritmo de Dijkstra 8 8 8
4 Algoritmo de Dijkstra 8 8 8
5 Algoritmo de Dijkstra
6 Algoritmo de Dijkstra
7 Algoritmo de Dijkstra
8 Algoritmo de Dijkstra
9 Algoritmo de Dijkstra
10 Algoritmo de Dijkstra não tem vizinhos não visitados!
11 Algoritmo de Dijkstra não tem vizinhos não visitados!
12 Algoritmo de Dijkstra implementação sugestão: heap para otimizar a recuperação do nó de menor caminho mas tivemos que consertar o heap a cada vez que encontramos um caminho mais curto para nó não visitado perdemos as vantagens do heap!
13 Algoritmo de Dijkstra como implementar usando heap e manter vantagens de tempo de acesso?. abrir a implementação do heap. criar heap maior e inserir cada nó várias vzs
14 Algoritmo de Dijkstra como implementar usando heap e manter vantagens de tempo de acesso?. abrir a implementação do heap custo de corrige_pos está na busca podemos manter a posição atual de cada nó
15 Algoritmo de Dijkstra como implementar usando heap e manter vantagens de tempo de acesso?. abrir a implementação do heap tamanho do menor caminho heap prio nó
16 Algoritmo de Dijkstra como implementar usando heap e manter vantagens de tempo de acesso? abrir a implementação do heap heap deixa de ser módulo separado tamanho do menor caminho posição do nó no heap heap - inf inf prio nó
17 Algoritmo de Dijkstra como implementar usando heap e manter vantagens de tempo de acesso?. sobrealocação do heap tamanho do menor caminho heap inf inf prio nó
18 Algoritmo de Dijkstra como implementar usando heap e manter vantagens de tempo de acesso?. sobrealocação do heap menor caminho heap inf visitado inf prio nó tamanho do menor caminho novo heap inf visitado prio nó
19 Algoritmo de Dijkstra em geral não queremos apenas saber o tamanho dos menores caminhos mas também sua estrutura
20 Algoritmo de Dijkstra em geral não queremos apenas saber o tamanho dos menores caminhos mas também sua estrutura custo inf último nó visitado - -
21 Algoritmo de Kruskal Árvore geradora de custo mínimo Dado um grafo ponderado G = (V,E,p), uma árvore geradora de custo mínimo para G é uma árvore tal que: V é o conjunto de nós da árvore A soma dos pesos das arestas é minima (entre as árvores geradoras) // DI, PUC-Rio Estruturas de Dados Avançadas.
22 Algoritmo de Kruskal Algoritmo de Kruskal Entrada: Um grafo ponderado G = (V,E,p) Saída: Árvore geradora de custo mínimo. Considere cada nó em V como uma árvore separada (formando uma floresta). Examine a aresta de menor custo. Se ela unir duas árvores na floresta, inclua-a.. Repita o Passo () até todos os nós estarem conectados. // DI, PUC-Rio Estruturas de Dados Avançadas.
23 Algoritmo de Kruskal. Considere cada nó como uma árvore separada (formando uma floresta) 8 8 // DI, PUC-Rio Estruturas de Dados Avançadas.
24 Algoritmo de Kruskal. Examine a aresta de menor custo. Se ela unir duas árvores na floresta, inclua-a.. Repita o Passo () até todos os nós estarem conectados. 8 8 // DI, PUC-Rio Estruturas de Dados Avançadas.
25 Algoritmo de Kruskal. Examine a aresta de menor custo. Se ela unir duas árvores na floresta, inclua-a.. Repita o Passo () até todos os nós estarem conectados. 8 8 // DI, PUC-Rio Estruturas de Dados Avançadas.
26 Algoritmo de Kruskal. Examine a aresta de menor custo. Se ela unir duas árvores na floresta, inclua-a.. Repita o Passo () até todos os nós estarem conectados. 8 8 // DI, PUC-Rio Estruturas de Dados Avançadas.
27 Algoritmo de Kruskal. Examine a aresta de menor custo. Se ela unir duas árvores na floresta, inclua-a.. Repita o Passo () até todos os nós estarem conectados. 8 8 // DI, PUC-Rio Estruturas de Dados Avançadas. 7
28 Algoritmo de Kruskal. Examine a aresta de menor custo. Se ela unir duas árvores na floresta, inclua-a.. Repita o Passo () até todos os nós estarem conectados // DI, PUC-Rio Estruturas de Dados Avançadas. 8
29 Algoritmo de Kruskal. Examine a aresta de menor custo. Se ela unir duas árvores na floresta, inclua-a.. Repita o Passo () até todos os nós estarem conectados. 8 8 // DI, PUC-Rio Estruturas de Dados Avançadas. 9
30 Algoritmo de Kruskal. Examine a aresta de menor custo. Se ela unir duas árvores na floresta, inclua-a.. Repita o Passo () até todos os nós estarem conectados. 8 8 // DI, PUC-Rio Estruturas de Dados Avançadas.
31 Algoritmo de Kruskal. Examine a aresta de menor custo. Se ela unir duas árvores na floresta, inclua-a.. Repita o Passo () até todos os nós estarem conectados. 8 8 // DI, PUC-Rio Estruturas de Dados Avançadas.
32 como descobrir se uma aresta conecta duas árvores? uso de uma estrutura de dados específica chamada união e busca estrutura de dados para manipulação de partições de conjuntos
33 Definições Universo: U = {x,x,,x n } Uma partição é uma coleção : C = {S,,S k } de conjuntos disjuntos S i U para qualquer i S S k = U (cobertura) S i S j =, para i j (disjunção) partição S i identificada por um de seus elementos x S i (REPRESENTANTE)
34 Operações Básicas cria() : cria uma partição do conjunto original busca(x): Informa qual partição um elemento faz parte, retornando um elemento que representa a partição Útil para determinar se dois elementos estão no mesmo conjunto {k,j,n,o,y,w,x,z} := w união(x,y): combina dois conjuntos em um único, substituindo S i e S j por um novo conjunto S k tal que S i S j = S k
35 Representação por Árvores Reversas //
36 Representação por Árvores Reversas Árvores reversas (Reversed Trees) Cada nó aponta para o seu pai a raiz aponta para si mesma ou aponta para NULL Depois de um nó deixar de ser a raiz, um nó nunca pode se tornar uma raiz novamente x x x x y s w w ys w w //
37 Representação por Árvores Reversas Exemplo u u x x t z y t v y z s w v s w S = {t,u,v,y,z} S = {s,w,x} // 7
38 Operações cria(n) = {S,, S n- } cria uma estrutura uniao-e-busca com n elementos disjuntos // 8
39 Operações busca(ub, x) retorna o elemento que representa o conjunto busca a raiz da árvore que contém o elemento busca(y) -> u busca(s) -> x u u x t z y t v y z s w v s w 9
40 Operações união(ub, u, x) une dois grupos, fazendo com que a raiz de um grupo aponte para a raiz do outro grupo torna uma árvore uma sub-árvore da outra união(ub, u, x) = {t,u,v,y,z, s,w,x} u u x x t z y t v y z s w À medida que novas uniões são realizadas, uma árvore completamente degenerada pode ser criada, fazendo com que as operações de Find se realizem em tempo linear O(n) v s w
41 Operações busca(ub, x) retorna o elemento que representa o conjunto busca a raiz da árvore que contém o elemento u u x x t z y t v y z s w v s w
42 Representação por Vetor
43 Representação por Vetor Implementação de partições: Através de um vetor Cada elemento do vetor representa um elemento do universo Cada elemento do vetor aponta para seu pai //
44 Representação por Vetor Exemplo (Note que a raiz possui - como valor do ponteiro) u x 7 t z y 7 v s w //
45 Union-Find (implementação simplificada ineficiente!!!) typedef struct uniaobusca UniaoBusca; struct uniaobusca {int n; int *v;}; UniaoBusca* cria(int size) { /* aloca novo item com tamanho dado e preenche vetor com - */ } int busca (UniaoBusca* ub, int u){ while (ub->v[u] >= ) u = ub->v[u]; return u; } void uniao (UniaoBusca* ub, int u, int v) { v = busca (ub, v); /* acha raiz de árvore de v */ ub->v[u] = v; } //
46 Problema Configuração inicial: uma floresta com n nós (singletons) 9 Operações; União dos elementos em ordem uniaosimples(,), uniaosimples(,),..., uniaosimples(n-, n) 7 8 Resultado: uma árvore degenerada busca muito cara!!!
47 otimizações 7
48 otimizações na união busca raizes void uniao (UniaoBusca* ub, int u, int v){ u = busca(ub, u); v = busca(ub, v); /* une u e v! */ } 8
49 união nas raizes void uniao (UniaoBusca* ub, int u, int v){ u = ub_busca(ub, u); v = ub_busca(ub, v); /* une u e v! */ } u s x 7 w ou t z y 7 v u t z y 7 v x 7 s 9 w
50 união nas raizes pendurar árvore com menor número de nós void uniao (UniaoBusca* ub, int u, int v){ u = busca(ub, u); v = busca(ub, v); if (u==v) return; /* uniao com base no numero de nós */ if /* arvore em u tem menos nós */ { ub->v[u] = v; /* atualiza o numero de nós de v */ } else /* arvore em v tem menos nós */ } como manter o número de nós em cada árvore podemos usar o próprio campo que indica o pai e em vez de - armazenar (número de nós) em cada raiz
51 união nas raizes pendurar árvore com menor número de nós na outra void uniao (UniaoBusca* ub, int u, int v){ u = busca(ub, u); v = busca(ub, v); if (u==v) return; /* uniao com base no numero de nós */ if (ub->v[u] < ub->v[v]) { ub->v[v] += ub->v[u]; ub->v[u] = v; } else /* arvore em v tem menos nós */ } como manter o número de nós em cada árvore podemos usar o próprio campo que indica o pai e em vez de - armazenar (número de nós) em cada raiz
52 otimizações na união busca raizes L mas agora união fica cara como melhorar isso?
INF 1010 Estruturas de Dados Avançadas
INF Estruturas de Dados Avançadas Grafos //8 DI, PUC-Rio Estruturas de Dados Avançadas. Primeiro uso conhecido 7 Euler: pontes de Königsberg //8 DI, PUC-Rio Estruturas de Dados Avançadas. Primeiro uso
Estruturas de Dados para Conjuntos Disjuntos: Union-find Letícia Rodrigues Bueno
Estruturas de Dados para Conjuntos Disjuntos: Union-find Letícia Rodrigues Bueno UFABC Estruturas de Dados para Conjuntos Disjuntos: Introdução Estruturas de Dados para Conjuntos Disjuntos: Introdução
Algoritmo de Kruskal. Algoritmo de Kruskal. Floresta geradora 26. Subfloresta S 20.3
Algoritmo de Kruskal Algoritmo de Kruskal S. Algoritmos em Grafos º sem / Subfloresta Uma subfloresta de G é qualquer floresta F que seja subgrafo de G. Exemplo: As arestas vermelhas que ligam os vértices
Grafos: árvores geradoras mínimas. Graça Nunes
Grafos: árvores geradoras mínimas Graça Nunes 1 Motivação Suponha que queremos construir estradas para interligar n cidades Cada estrada direta entre as cidades i e j tem um custo associado Nem todas as
Grafos: componentes fortemente conexos, árvores geradoras mínimas
Grafos: componentes fortemente conexos, árvores geradoras mínimas SCE-183 Algoritmos e Estruturas de Dados 2 Thiago A. S. Pardo Maria Cristina 1 Componentes fortemente conexos Um componente fortemente
Grafos. Exemplo de árvore geradora mínima. Notas. Notas. Notas. Notas. Árvores espalhadas mínimas. Como construir uma árvore geradora miníma
Grafos Árvores espalhadas mínimas Conteúdo Introdução Como construir uma árvore geradora miníma Algoritmos Referências Introdução Dado um grafo conectado não orientado G = (V, E) e uma função peso w :
Á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
Á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
INF 1010 Estruturas de Dados Avançadas. Árvores binárias
INF 1010 Estruturas de Dados Avançadas Árvores binárias 1 Árvore estrutura hierárquica: A B E F C D G A B C E F D G A B C D E F G (A (B (E, F)), C, (D (G))) 05/09/16 2 Árvore - definições árvore: nó raiz
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
ESTRUTURA DE DADOS. Árvores, árvores binárias e percursos. Cristina Boeres
ESTRUTURA DE DADOS Árvores, árvores binárias e percursos Cristina Boeres 2 Árvores! utilizada em muitas aplicações! modela uma hierarquia entre elementos árvore genealógica diagrama hierárquico de uma
Aula 08. Estruturas de dados Árvore e Grafo
Logo Aula 08 Estruturas de dados Árvore e Grafo 2 Árvore Estruturas estudadas até agora não são \ adequadas para representar dados que devem ser dispostos de maneira hierárquica Ex., hierarquia de pastas
Á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
Aula 19 Conjuntos disjuntos (Union-find)
MC3305 Algoritmos e Estruturas de Dados II Aula 19 Conjuntos disjuntos (Union-find) Prof. Jesús P. Mena-Chalco [email protected] 2Q-2015 1 Números de Ackermann 2 3 Ackermann A função de Ackermann
Á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
SUMÁRIO. Fundamentos Árvores Binárias Árvores Binárias de Busca
ÁRVORES SUMÁRIO Fundamentos Árvores Binárias Árvores Binárias de Busca 2 ÁRVORES Utilizadas em muitas aplicações Modelam uma hierarquia entre elementos árvore genealógica Diagrama hierárquico de uma organização
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
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,
INF1010 Lista de Exercícios 2
INF00 Lista de Exercícios 2 Árvores. Construir algoritmo para dada uma árvore n-ária, transformá-la em uma árvore binária. 2. Qual a maior e menor quantidade de nós que podem existir em uma árvore binária
Demonstração. Relação invariante chave. Implementações do algoritmo de Prim. Implementação grosseira
Algoritmo de Prim Simulação S. Algoritmos em Grafos º sem / Franja A franja (= fringe) de uma subárvore T é o conjunto de todas as arestas que têm uma ponta em T e outra ponta fora Exemplo: As arestas
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.
Árvores. ! utilizada em muitas aplicações. ! modela uma hierarquia entre elementos. ! O conceito de árvores está diretamente ligado à recursão
Árvores 1 Árvores! utilizada em muitas aplicações! modela uma hierarquia entre elementos! árvore genealógica! diagrama hierárquico de uma organização! modelagem de algoritmos! O conceito de árvores está
ÁRVORE BINÁRIA DE BUSCA
ÁRVORE BINÁRIA DE BUSCA 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 remover elementos
CAL ( ) MIEIC/FEUP Estruturas de Dados ( )
Conjuntos Disjuntos R. Rossetti, A.P. Rocha, A. Pereira, P.B. Silva, T. Fernandes FEUP, MIEIC, CPAL, 2010/2011 1 Conjuntos Disjuntos Objectivo resolver eficientemente o problema da equivalência estrutura
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 [email protected] Instituto
Otimização em Grafos
Otimização em Grafos Luidi G. Simonetti PESC/COPPE 2017 Luidi Simonetti (PESC) EEL857 2017 1 / 33 Definição do Problema Dado: um grafo ponderado G = (V, E), orientado ou não, onde d : E R + define as distâncias
INF 1010 Estruturas de Dados Avançadas
INF 1010 Estruturas de Dados Avançadas Listas de Prioridades e Heaps 1 Listas de Prioridades Em muitas aplicações, dados de uma coleção são acessados por ordem de prioridade A prioridade associada a um
UNIVERSIDADE DE SÃO PAULO INSTITUTO DE CIÊNCIAS MATEMÁTICAS E DE COMPUTAÇÃO Departamento de Ciências de Computação
UNIVERSIDADE DE SÃO PAULO INSTITUTO DE CIÊNCIAS MATEMÁTICAS E DE COMPUTAÇÃO Departamento de Ciências de Computação SCC-203 ALGORITMOS E ESTRUTURAS DE DADOS II Prova - Gabarito Nome: Nro. USP ) O matemático
MATEMÁTICA DISCRETA PARA ENGENHARIA DE COMPUTAÇÃO
MATEMÁTICA DISCRETA PARA ENGENHARIA DE COMPUTAÇÃO Profa. Kathya Collazos Linares *As aulas baseiam-se no material do Professor Antonio Alfredo Ferreira Loureiro; Jorge Figueiredo e Judith Gersting Árvore
Ciclos hamiltonianos e o problema do caixeiro viajante
Ciclos hamiltonianos e o problema do caixeiro viajante Algoritmos em Grafos Marco A L Barbosa cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual 4.0 Internacional.
Busca. Pesquisa sequencial
Busca Banco de dados existem para que, de tempos em tempos, um usuário possa localizar o dado de um registro, simplesmente digitando sua chave. Uma tabela ou um arquivo é um grupo de elementos, cada um
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,
Árvores. Algoritmos e Estruturas de Dados I. José Augusto Baranauskas Departamento de Física e Matemática FFCLRP-USP
Árvores lgoritmos e Estruturas de Dados I Nesta aula veremos conceitos e definições sobre árvores Diferentemente das estruturas de pilhas, filas e listas que são lineares, uma árvore é uma estrutura de
Estruturas de Dados I
UFES - Curso de verão 2011 Estruturas de Dados I Profa. Juliana Pinheiro Campos [email protected] Árvores binárias de busca (ou São árvores projetadas para dar suporte a operações de busca de forma eficiente.
Árvores. SCC-202 Algoritmos e Estruturas de Dados I. Lucas Antiqueira
Árvores SCC-202 Algoritmos e Estruturas de Dados I Lucas Antiqueira Listas e árvores Listas lineares Um nó após o outro, adjacentes Nó sucessor e antecessor Diversas aplicações necessitam de estruturas
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
Programação II. Árvores Binárias (Binary Trees) Bruno Feijó Dept. de Informática, PUC-Rio
Programação II Árvores Binárias (Binary Trees) Bruno Feijó Dept. de Informática, PUC-Rio Árvores Dados organizados de maneira hierárquica Exemplos: arquivos em diretórios, subdivisão de espaço 2D em um
ÁRVORE BINÁRIA DE BUSCA TDA-ABB
ÁRVORE BINÁRIA DE BUSCA TDA-ABB Conceitos Gerais sobre Árvores Uma árvore é uma estrutura hierárquica dividida em níveis, que ou está vazia, ou contém elementos chamados nós; Diferentemente da árvore natural,
Árvores Árvores Geradoras de Custo Mínimo 0/16
Conteúdo 1 Árvores 2 Árvores Geradoras de Custo Mínimo Árvores Árvores Geradoras de Custo Mínimo 0/16 Árvores Definição (Grafo Acíclico) Um grafo acíclico é um grafo que não contém ciclos. Árvores Árvores
Estruturas de Dados Aula 16: Árvores com Número Variável 13/06/2011
Estruturas de Dados Aula 16: Árvores com Número Variável de Filhos 13/06/2011 1 Fontes Bibliográficas Livros: Introdução a Estruturas de Dados (Celes, Cerqueira e Rangel): Capítulo 13; Projeto de Algoritmos
Á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
Estruturas de Dados. Módulo 17 - Busca. 2/6/2005 (c) Dept. Informática - PUC-Rio 1
Estruturas de Dados Módulo 17 - Busca 2/6/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)
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 [email protected] - http://lmarti.com Listas Encadeadas Definição Funções básicas Tópicos Principais
GRAFOS E DIGRAFOS. Vanessa Braganholo Estruturas de Dados e Seus Algoritmos
GRAFOS E DIGRAFOS Vanessa Braganholo Estruturas de Dados e Seus Algoritmos GRAFOS Definições Representação Algoritmos Busca Inserção (arestas e vértices) Exclusão (arestas e vértices) 1 4 5 6 GRAFOS Grafos
DAINF - Departamento de Informática
DAINF - Departamento de Informática Algoritmos 2 - Árvore binária de busca Prof. Alex Kutzke ( http://alex.kutzke.com.br/courses ) 30 de Novembro de 2015 Slides adaptados do material produzido pelo Prof.
Filas de Prioridade & Heaps
Filas de Prioridade & SCC0202 - Algoritmos e Estruturas de Dados I Prof. Fernando V. Paulovich *Baseado no material do Prof. Gustavo Batista http://www.icmc.usp.br/~paulovic [email protected] Instituto
Listas Lineares Ordenadas
Listas Lineares Ordenadas Algoritmos e Estruturas de Dados I Nesta apresentação será apresentado o ADT lista linear ordenada Uma lista linear ordenada, ou simplesmente lista ordenada há uma ordem entre
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
Prova Didática Grafos: Árvores Geradoras e Caminhos Mínimos, Análise de Complexidade
Prova Didática Grafos: Árvores Geradoras e Caminhos Mínimos, Análise de Complexidade Gustavo E.A.P.A. Batista 25 de janeiro de 2005 1 Contextualização 2 Caminhos Mínimos Caminhos Mínimos de uma Origem
ESTRUTURA DE DADOS E ALGORITMOS HEAPS E LISTAS DE PRIORIDADES
ESTRUTURA DE DADOS E ALGORITMOS HEAPS E LISTAS DE PRIORIDADES Listas de Prioridades! Em muitas aplicações, dados de uma coleção são acessados por ordem de prioridade! A prioridade associada a um dado pode
Listas e matrizes esparsas. SCC122 Estruturas de Dados
Listas e matrizes esparsas SCC Estruturas de Dados Matriz: definição Matriz é um arranjo (tabela) retangular de números dispostos em linhas e colunas 8 9 6 4 7 3 3x3 B 8 9 4 3 5 3 4 3x4 A nº de elementos
Árvores. Estruturas de Dados. Prof. Vilson Heck Junior
Árvores Estruturas de Dados Prof. Vilson Heck Junior Árvores INTRODUÇÃO Introdução Árvores são estruturas de dados utilizadas para armazenar e recuperar dados de forma rápida e eficiente; Árvores não sã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
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
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
Teoria dos Grafos Aula 6
Teoria dos Grafos Aula 6 Aula passada Busca em grafos Busca em largura (BFS Breadth First Search) Propriedades Aula de hoje BFS implementação Complexidade Busca em profundidade (DFS) Conectividade, componentes
As duas soluções a seguir são exemplos da variedade de soluções admissíveis.
INF 1620- Estruturas de Dados Soluções das questões da P2-08/11/00 1. Queremos programar uma pilha em que a cada elemento devem corresponder duas informações: Escreva os tipos necessários para esta implementação,
Otimização em Grafos
Otimização em Grafos Luidi G. Simonetti PESC/COPPE 2017 Luidi Simonetti (PESC) EEL857 2017 1 / 35 Teoria dos Grafos - Relembrando Árvore Um grafo G é uma árvore se é conexo e não possui ciclos (acíclico).
Árvores Conceitos gerais
http://www.mysticfractal.com/ FractalImaginator.html Árvores Conceitos gerais 9/11 Nesta aula veremos conceitos e definições sobre árvores Diferentemente das estruturas de pilhas, filas e listas que são
Estrutura de Dados. Carlos Eduardo Batista. Centro de Informática - UFPB
Estrutura de Dados Carlos Eduardo Batista Centro de Informática - UFPB [email protected] Árvores (parte 3) Estruturas de Dados 2 Organização dos dados: Linear: Listas, pilhas, filas. Relação sequencial.
ESTRUTURAS DISCRETAS (INF 1631) GRAFOS. 1. O que é um grafo? Defina um grafo orientado. Defina um grafo não-orientado.
PUC-Rio Departamento de Informática Profs. Marcus Vinicius S. Poggi de Aragão Período: 0. Horário: as-feiras e as-feiras de - horas de maio de 0 ESTRUTURAS DISCRETAS (INF 6) a Lista de Exercícios Procure
UNIVERSIDADE DA BEIRA INTERIOR
UNIVERSIDADE DA BEIRA INTERIOR Algoritmos e Estruturas de Dados - Bioengenharia 2º Semestre Exame Especial Resolução 19/07/2013 A. [4.75 val] Algoritmos de ordenação e de pesquisa (usando memória estática
