Conjuntos disjuntos dinâmicos
|
|
|
- João Batista de Lacerda Brunelli
- 8 Há anos
- Visualizações:
Transcrição
1 Conjuntos disjuntos dinâmicos CLRS 21 Algoritmos p. 1
2 Conjuntos disjuntos Seja S = {S 1,S 2,...,S n } uma coleção de conjuntos disjuntos, ou seja, S i S j = para todo i j. Algoritmos p. 2
3 Conjuntos disjuntos Seja S = {S 1,S 2,...,S n } uma coleção de conjuntos disjuntos, ou seja, S i S j = para todo i j. Exemplo de coleção disjunta de conjuntos: componentes conexos de um grafo a b e f h j G c d g i componentes = conjuntos disjuntos de vértices {a,b,c,d} {e,f,g} {h,i} {j} Algoritmos p. 2
4 Coleção disjunta dinâmica Conjuntos são modificados ao longo do tempo Algoritmos p. 3
5 Coleção disjunta dinâmica Conjuntos são modificados ao longo do tempo Exemplo: grafo dinâmico a b e f h j G c d g i aresta componentes {a} {b} {c} {d} {e} {f} {g} {h} {i} {j} Algoritmos p. 3
6 Coleção disjunta dinâmica Conjuntos são modificados ao longo do tempo Exemplo: grafo dinâmico a b e f h j G c d g i aresta (b,d) componentes {a} {b,d} {c} {e} {f} {g} {h} {i} {j} Algoritmos p. 3
7 Coleção disjunta dinâmica Conjuntos são modificados ao longo do tempo Exemplo: grafo dinâmico a b e f h j G c d g i aresta (e,g) componentes {a} {b,d} {c} {e,g} {f} {h} {i} {j} Algoritmos p. 3
8 Coleção disjunta dinâmica Conjuntos são modificados ao longo do tempo Exemplo: grafo dinâmico a b e f h j G c d g i aresta (a,c) componentes {a,c} {b,d} {e,g} {f} {h} {i} {j} Algoritmos p. 3
9 Coleção disjunta dinâmica Conjuntos são modificados ao longo do tempo Exemplo: grafo dinâmico a b e f h j G c d g i aresta (h,i) componentes {a,c} {b,d} {e,g} {f} {h,i} {j} Algoritmos p. 3
10 Coleção disjunta dinâmica Conjuntos são modificados ao longo do tempo Exemplo: grafo dinâmico a b e f h j G c d g i aresta (a,b) componentes {a,b,c,d} {e,g} {f} {h,i} {j} Algoritmos p. 3
11 Coleção disjunta dinâmica Conjuntos são modificados ao longo do tempo Exemplo: grafo dinâmico a b e f h j G c d g i aresta (e,f) componentes {a,b,c,d} {e,f,g} {h,i} {j} Algoritmos p. 3
12 Coleção disjunta dinâmica Conjuntos são modificados ao longo do tempo Exemplo: grafo dinâmico a b e f h j G c d g i aresta (b,c) componentes {a,b,c,d} {e,g} {f} {h,i} {j} Algoritmos p. 3
13 Operações básicas S coleção de conjuntos disjuntos. Cada conjunto tem um representante. MAKESET (x): UNION (x, y): FINDSET (x): x é elemento novo S S {x} x e y em conjuntos diferentes S S {S x,s y } {S x S y } x está em S x e y está em Sy devolve representante do conjunto que contém x Algoritmos p. 4
14 Connected-Components Recebe um grafo G e contrói uma representação dos componentes conexos. CONNECTED-COMPONENTS (G) 1 para cada vértice v de G faça 2 MAKESET (v) 3 para cada aresta (u,v) de G faça 4 se FINDSET (u) FINDSET (v) 5 então UNION (u, v) Algoritmos p. 5
15 Consumo de tempo n := número de vértices do grafo m := número de arestas do grafo Algoritmos p. 6
16 Consumo de tempo n := número de vértices do grafo m := número de arestas do grafo linha consumo de todas as execuções da linha 1 = Θ(n) 2 = n consumo de tempo MAKESET 3 = Θ(m) 4 = 2m consumo de tempo FINDSET 5 n consumo de tempo UNION total Θ(n + m) + n consumo de tempo MAKESET +2m consumo de tempo FINDSET +n consumo de tempo UNION Algoritmos p. 6
17 Same-Component Decide se u e v estão no mesmo componente: SAME-COMPONENT (u, v) 1 se FINDSET (u) = FINDSET (v) 2 então devolva SIM 3 senão devolva NÃO Algoritmos p. 7
18 Algoritmo de Kruskal Encontra uma árvore geradora mínima (CLRS 23). MST-KRUSKAL (G, w) G conexo 1 A 2 para cada vértice v faça 3 MAKESET (v) 4 coloque arestas em ordem crescente de w 5 para cada aresta uv em ordem crescente de w faça 6 se FINDSET (u) FINDSET (v) 7 então A A {uv} 8 UNION (u, v) 9 devolva A Algoritmos p. 8
19 Conjuntos disjuntos dinâmicos Seqüência de operações MAKESET, UNION, FINDSET M M M U F U U F U F F F U F } {{ } } n {{ } m Que estrutura de dados usar? Compromissos (trade-off s) Algoritmos p. 9
20 Algumas possibilidades (a) cada conjunto é representado por uma lista ligada circular (b) cada conjunto é representado por uma árvore enraizada de altura 1. Algoritmos p. 10
21 Algumas possibilidades (a) cada conjunto é representado por uma lista ligada circular (b) cada conjunto é representado por uma árvore enraizada de altura 1. Consumo de tempo (a) (b) MAKESET Θ(1) Θ(1) UNION/LINK O(n)/O(1) O(n) FINDSET O(n) Θ(1) Algoritmos p. 10
22 Algumas possibilidades (a) cada conjunto é representado por uma lista ligada circular (b) cada conjunto é representado por uma árvore enraizada de altura 1. Consumo de tempo (a) (b) MAKESET Θ(1) Θ(1) UNION/LINK O(n)/O(1) O(n) FINDSET O(n) Θ(1) Uma seqüência de m operações consume tempo Θ(m 2 ) no pior caso. Consumo de tempo amortizado por operação é O(m). Algoritmos p. 10
23 Melhoramento: weighted-union Na segunda opção, armazene adicionalmente o tamanho de cada conjunto. Algoritmos p. 11
24 Melhoramento: weighted-union Na segunda opção, armazene adicionalmente o tamanho de cada conjunto. Na união, altera-se os apontadores para o representante de cada elemento do conjunto menor. Algoritmos p. 11
25 Melhoramento: weighted-union Na segunda opção, armazene adicionalmente o tamanho de cada conjunto. Na união, altera-se os apontadores para o representante de cada elemento do conjunto menor. O custo de pior caso de cada operação não se altera, mas o custo amortizado melhora. Algoritmos p. 11
26 Melhoramento: weighted-union Na segunda opção, armazene adicionalmente o tamanho de cada conjunto. Na união, altera-se os apontadores para o representante de cada elemento do conjunto menor. O custo de pior caso de cada operação não se altera, mas o custo amortizado melhora. Como fazer esta análise? Algoritmos p. 11
27 Melhoramento: weighted-union Na segunda opção, armazene adicionalmente o tamanho de cada conjunto. Na união, altera-se os apontadores para o representante de cada elemento do conjunto menor. O custo de pior caso de cada operação não se altera, mas o custo amortizado melhora. O apontador para o representante de cada elemento x pode ser alterado no máximo lg n vezes, pois o tamanho do conjunto que contém x dobra a cada alteração. Algoritmos p. 11
28 Melhoramento: weighted-union Na segunda opção, armazene adicionalmente o tamanho de cada conjunto. Na união, altera-se os apontadores para o representante de cada elemento do conjunto menor. O custo de pior caso de cada operação não se altera, mas o custo amortizado melhora. O apontador para o representante de cada elemento x pode ser alterado no máximo lg n vezes, pois o tamanho do conjunto que contém x dobra a cada alteração. Conclusão: uma seqüência de m operações MAKESET, UNION e FINDSET, sendo que n são MAKESET, consome tempo O(m + n lg n). Algoritmos p. 11
29 Estrutura disjoint-set forest a b e f h j G c d g i cada conjunto tem uma raiz, que é o seu representate cada nó x tem um pai pai[x] = x se e só se x é uma raiz Algoritmos p. 12
30 Estrutura disjoint-set forest b e h j a d g f i c cada conjunto tem uma raiz cada nó x tem um pai pai[x] = x se e só se x é uma raiz Algoritmos p. 12
31 MakeSet 0 e FindSet 0 b e h j a d g f i c MAKESET 0 (x) 1 pai[x] x FINDSET 0 (x) 1 enquanto pai[x] x faça 2 x pai[x] 3 devolva x Algoritmos p. 13
32 FindSet 1 b e h j a d g f i c FINDSET 1 (x) 1 se pai[x] = x 2 então devolva x 3 senão devolva FINDSET 1 (pai[x]) Algoritmos p. 14
33 Union 0 b e h j a d g f i c UNION 0 (x,y) 1 x FINDSET 0 (x) 2 y FINDSET 0 (y) 3 pai[y ] x Algoritmos p. 15
34 Union 0 b x UNION 0 (a,f) h j a d e y i c g f UNION 0 (x,y) 1 x FINDSET 0 (x) 2 y FINDSET 0 (y) 3 pai[y ] x Algoritmos p. 15
35 Union 0 b x UNION 0 (a,f) h j a d e y i c g f UNION 0 (x,y) 1 x FINDSET 0 (x) 2 y FINDSET 0 (y) 3 pai[y ] x Algoritmos p. 15
36 MakeSet 0, Union 0 e FindSet 1 MAKESET 0 (x) 1 pai[x] x UNION 0 (x,y) 1 x FINDSET 0 (x) 2 y FINDSET 0 (y) 3 pai[y ] x FINDSET 1 (x) 1 se pai[x] = x 2 então devolva x 3 senão devolva FINDSET 1 (pai[x]) Algoritmos p. 16
37 Consumo de tempo MAKESET 0 UNION 0 FINDSET 0 Θ(1) O(n) O(n) M M M U F U U F U F F F U F } {{ } } n {{ } m Custo total da seqüência: n Θ(1) + n O(n) + m O(n) = O(mn) Algoritmos p. 17
38 Melhoramento 1: union by rank rank[x] = posto do nó x MAKESET (x) 1 pai[x] x 2 rank[x] 0 Algoritmos p. 18
39 Melhoramento 1: union by rank 2 x UNION (x,y) y rank[x] = posto do nó x MAKESET (x) 1 pai[x] x 2 rank[x] 0 Algoritmos p. 19
40 Melhoramento 1: union by rank 2 x UNION (x,y) y rank[x] = posto do nó x MAKESET (x) 1 pai[x] x 2 rank[x] 0 Algoritmos p. 20
41 Melhoramento 1: union by rank rank[x] > rank[y] rank[x] rank[y] rank[x] = rank[y] rank[x] + 1 rank[y] Algoritmos p. 21
42 Melhoramento 1: union by rank UNION (x,y) com union by rank 1 x FINDSET (x) 2 y FINDSET (y) supõe que x y 3 se rank[x ] > rank[y ] 4 então pai[y ] x 5 senão pai[x ] y 6 se rank[x ] = rank[y ] 7 então rank[y ] rank[y ] + 1 Algoritmos p. 22
43 Melhoramento 1: estrutura rank[x] < rank[pai[x]] para cada nó x rank[x] = rank[pai[x]] se e só se x é raiz rank[pai[x]] é uma função não-decrescente do tempo número de nós de uma árvore de raiz x é 2 rank[x]. número de nós de posto k é n/2 k. altura(x) = rank[x] lg n para cada nó x altura(x) := comprimento do mais longo caminho que vai de x até uma folha Algoritmos p. 23
44 Melhoramento 1: custo Seqüência de operações MAKESET, UNION, FINDSET M M M }{{} U F U U F U F F F U F n }{{} m altura(x) lg n para cada nó x Consumos de tempo: MAKESET Θ(1) UNION O(lg n) FINDSET O(lg n) Consumo de tempo total da seqüência: O(m lg n) Algoritmos p. 24
45 Melhoramento 2: path compression e d c b x FINDSET(x) Algoritmos p. 25
46 Melhoramento 2: path compression e a b c d FINDSET(x) Algoritmos p. 25
47 Melhoramento 2: path compression FINDSET (x) com path compression 1 se x pai[x] 2 então pai[x] FINDSET (pai[x]) 3 devolva pai[x] rank[x] < rank[pai[x]] para cada nó x rank[x] = rank[pai[x]] se e só se x é raiz rank[pai[x]] é uma função não-decrescente do tempo número de nós de uma árvore de raiz x é 2 rank[x] número de nós de posto k é n/2 k altura(x) rank[x] lg n para cada nó x Algoritmos p. 26
48 lg n é o menor k tal que lg lg... lg }{{} k Função log-estrela n 1 n lg n }{{} Algoritmos p. 27
49 Tempo amortizado Se conjuntos disjuntos são representados através de disjoint-set forest com union by rank e path compression, então uma seqüência de m operações MAKESET, UNION e FINDSET, sendo que n são MAKESET, consome tempo O(m lg n). Algoritmos p. 28
50 Exercícios Exercício 24.A [CLRS ] Quando CONNECTED-COMPONENTS é aplicado a um grafo G = (V, E) com k componentes, quantas vezes FINDSET é chamado? Quantas vezes UNION é chamado? Dê respostas em termos de k, V e E. Exercício 24.B [CLRS ] Faça uma figura da floresta produzida pela seguinte seqüência de operacões: 01 para i 1 até16 02 faça MAKESET(x i ) 03 para i 1 até15 em passos de 2 04 faça UNION (x i, x i+1 ) 05 para i 1 até 13 em passos de 4 06 faça UNION (x i, x i+2 ) 07 UNION (x 1, x 5 ) 08 UNION (x 11, x 13 ) 09 UNION (x 1, x 10 ) 10 FINDSET (x 2 ) 11 FINDSET (x 9 ) Algoritmos p. 29
51 Mais exercícios Exercício 24.C [CLRS ] Escreva uma versão iterativa de FINDSET com path compression. Exercício 24.D [CLRS ] Dê uma seqüência de m MAKESET, UNION e FINDSET 0, n das quais são MAKESET, que consome Ω(m lg n). Exercício 24.E Digamos que h[x] é a altura do nó x (= comprimento do mais longo caminho que vai de x até uma folha) na estrutura disjoint-set forest. Mostre que rank[x] h[x]. Mostre que UNION (x, y) nem sempre pendura a árvore mais baixa na mais alta. Exercício 24.F [CLRS ] Mostre que o pôsto de cada nó na estrutura disjoint-set forest é no máximo lg n ou seja, que rank[x] lg n. (Sugestão: Mostre inicialmente que para cada raiz x temos 2 rank[x] n x, onde n x é o número de nós na árvore que contém x.) Algoritmos p. 30
52 Mais um exercício Exercício 24.G [CLRS ] Considere uma versão simplificada da estrutura disjoint-set forest que usa a heurística union by rank mas não usa a heurística path compression. (Em outras palavras, usa as operações MAKESET, UNION e FINDSET 0.) Mostre que essa simplificação consome tempo O(m lg n). Como de hábito, m é o número total de operações e n é o número de operações MAKESET. (Sugestão: Use o exercício CLRS ) Algoritmos p. 31
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
Estruturas de Dados para Conjuntos Disjuntos. Estruturas de dados para conjuntos disjuntos
Estruturas de Dados para Conjuntos Disjuntos Fernando Lobo Algoritmos e Estrutura de Dados II 1 / 32 Estruturas de dados para conjuntos disjuntos Também conhecido por UNION-FIND. Objectivo: Manter uma
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
Árvores de Suporte de Custo Mínimo
Árvores de Suporte de Custo Mínimo Pedro Ribeiro DCC/FCUP 2014/2015 Pedro Ribeiro (DCC/FCUP) Árvores de Suporte de Custo Mínimo 2014/2015 1 / 28 Árvore de Suporte Uma árvore de suporte ou árvore de extensão
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
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: Conceitos Básicos e Árvore Geradora
Árvores: Conceitos Básicos e Árvore Geradora Grafos e Algoritmos Computacionais Prof. Flávio Humberto Cabral Nunes [email protected] 1 Introdução No dia a dia aparecem muitos problemas envolvendo árvores:
Análise amortizada CLRS 17. Algoritmos p. 1
Análise amortizada CLRS 17 Algoritmos p. 1 Análise amortizada Serve para analisar uma sequência de operações ou iterações onde o pior caso individual não reflete o pior caso da sequência. Em outras palavras,
2006/2007 Análise e Síntese de Algoritmos 2
Análise e Síntese de Algoritmos Árvores Abrangentes de Menor Custo CLRS, Cap. 23 Resumo Árvores Abrangentes de Menor Custo Minimum-Spanning Trees (MSTs) Algoritmo (greedy) genérico Prova de optimalidade
CI065 CI755 Algoritmos e Teoria dos Grafos
CI065 CI755 Algoritmos e Teoria dos Grafos Exercícios 11 de outubro de 2017 1 Fundamentos 1. Seja S = {S 1,..., S n } uma família de conjuntos. O grafo intercessão de S é o grafo G S cujo conjunto de vértices
Teoria dos Grafos. Edson Prestes
Edson Prestes Grafos Cliques Maximais Para determinar os cliques maximais de um grafo G podemos usar o método de Maghout em Dado o grafo abaixo, calcule Determine os conjuntos independentes maximais em
Grafos Msc. Daniele Carvalho Oliveira. Doutoranda em Computação UFU Mestre em Computação - UFU Bacharel em Computação - UFJF 1
Grafos Msc. Daniele Carvalho Oliveira Doutoranda em Computação UFU Mestre em Computação - UFU Bacharel em Computação - UFJF 1 Árvore Geradora Mínima 2 Porque é um problema interessante Suponha que queremos
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
Teoria dos Grafos. Edson Prestes
Edson Prestes Grafos Enumeração de Passeios/Caminhos O processo associado à enumeração de caminhos de um grafo/dígrafo é semelhante ao processo de contagem com a diferença de que usaremos uma matriz de
1.3 Isomorfismo 12 CAP. 1 CONCEITOS BÁSICOS
12 CAP. 1 CONCEITOS BÁSICOS I i I j. Essa relação de adjacência define um grafo com conjunto de vértices {I 1,...,I k }. Esse é um grafo de intervalos. Faça uma figura do grafo definido pelos intervalos
AULA 20. Algoritmos p.725/759
AULA 20 Algoritmos p.725/759 Mais análise amortizada CLR 18 ou CLRS 17 Algoritmos p.726/759 Análise amortizada Análise amortizada = análise do consumo de tempo de uma seqüência de operações Usada nos casos
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
Árvores Binárias e Busca. Jeane Melo
Árvores Binárias e Busca Jeane Melo Roteiro Parte 1 Árvores Relação hierárquica Definição Formal Terminologia Caminhamento em Árvores Binárias Exemplos Parte 2 Busca seqüencial Busca Binária Grafos Conjunto
Introdução à Teoria dos Grafos
Capítulo 1 Introdução à Teoria dos Grafos 1.1 História O primeiro problema cuja solução envolveu conceitos do que viria a ser teoria dos grafos, denominado "problema das pontes de Königsberg", foi resolvido
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
ICET CURSO: Ciência da Computação e Sistemas de Informação (Estrutura de Dados) Estudos Disciplinares Campus: Data: / / Nome:
ICET CURSO: Ciência da Computação e Sistemas de Informação (Estrutura de Dados) Estudos Disciplinares Campus: Data: / / Nome: RA: Turma: Questão 1 (ENADE Computação 2005) No famoso jogo da Torre de Hanói,
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
Problema da Árvore Geradora Mínima
Instituto Federal do Espírito Santo Campus Serra Problema da Árvore Geradora Mínima Diego Pasti Jefferson Rios Sumário Apresentação do Problema da AGM...3 Raízes do Problema Definindo o Problema O Problema
ANÁLISE DE ALGORITMOS
ANÁLISE DE ALGORITMOS Paulo Feofiloff Instituto de Matemática e Estatística Universidade de São Paulo agosto 2009 Introdução P. Feofiloff (IME-USP) Análise de Algoritmos agosto 2009 2 / 102 Introdução
IME º DIA MATEMÁTICA BERNOULLI COLÉGIO E PRÉ-VESTIBULAR
IME - 2006 1º DIA MATEMÁTICA BERNOULLI COLÉGIO E PRÉ-VESTIBULAR Matemática Questão 01 Sejam a 1 = 1 i, a n = r + si e a n+1 = (r s) + (r + s)i (n > 1) termos de uma sequência. DETERMINE, em função de n,
Coloração de intervalos
Coloração de intervalos Problema: Dados intervalos de tempo [s 1,f 1 ),...,[s n,f n ), encontrar uma coloração dos intervalos com o menor número possível de cores em que dois intervalos de mesma cor sempre
BCC204 - Teoria dos Grafos
BCC204 - Teoria dos Grafos Marco Antonio M. Carvalho (baseado nas notas de aula do prof. Haroldo Gambini Santos) Departamento de Computação Instituto de Ciências Exatas e Biológicas Universidade Federal
MA13 Geometria AV2 2014
MA1 Geometria AV 014 Questão 1 [,0 pt ] Na figura a seguir temos que BAC = /, BAD = y/, medidos em radianos, e AB =. Com base nessas informações: a Epresse a área dos triângulos ABC e ABD como funções
Matemática Discreta - Exercícios de Grafos
UALG - 0/0 1. Seja G o grafo cuja matriz de adjacência é: 1 8 9 1 8 9 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 1 1 0 1 1 0 1 0 1 0 1 1 0 1 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
Ordenação em tempo linear
Ordenação em tempo linear CLRS cap 8 Algoritmos p. 1 Ordenação: limite inferior Problema: Rearranjar um vetor A[1..n] de modo que ele fique em ordem crescente. Existem algoritmos que consomem tempo O(n
a média de gols da primeira rodada, M G a média de gols das duas primeiras rodadas e x o número de gols da segunda rodada, tem-se 15 + x 15 M G
MATEMÁTICA O número de gols marcados nos 6 jogos da primeira rodada de um campeonato de futebol foi 5,,,, 0 e. Na segunda rodada, serão realizados mais 5 jogos. Qual deve ser o número total de gols marcados
Teoria dos Grafos Aula 5
Teoria dos Grafos Aula Aula passada Explorando grafos Mecanismos genéricos Ideias sobre BFS, DFS Aula de hoje Busca em grafos Busca em largura (BFS Breadth First Search) Propriedades Busca em Grafos Problema
AULA 13. Algoritmos p.526/582
AULA 13 Algoritmos p.526/582 Ordenação em tempo linear CLRS 8.2 8.3 Algoritmos p.527/582 Ordenação por contagem Recebe vetores A[1.. n] e B[1.. n] e devolve no vetor B[1.. n] os elementos de A[1.. n] em
Mediana. Aula 09. Menor. i-ésimo menor elemento. Algoritmo de Seleção. -ésimo menor elemento. Mediana é o n+1. -ésimo menor ou o n+1
Mediana Aula 09 Algoritmo de Seleção Prof. Marco Aurélio Stefanes marco em dct.ufms.br www.dct.ufms.br/ marco Baseado em slides do Prof. Paulo Fiofilof Mediana é o n+1 2 -ésimo menor ou o n+1 2 -ésimo
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
Grafos - Introdução. Pedro Ribeiro 2014/2015 DCC/FCUP. Pedro Ribeiro (DCC/FCUP) Grafos - Introdução 2014/ / 32
Grafos - Introdução Pedro Ribeiro DCC/FCUP 2014/2015 Pedro Ribeiro (DCC/FCUP) Grafos - Introdução 2014/2015 1 / 32 Conceito Definição de Grafo Formalmente, um grafo é: Um conjunto de nós/vértices (V).
NOTAÇÕES. : inversa da matriz M : produto das matrizes M e N : segmento de reta de extremidades nos pontos A e B
NOTAÇÕES R C : conjunto dos números reais : conjunto dos números complexos i : unidade imaginária i = 1 det M : determinante da matriz M M 1 MN AB : inversa da matriz M : produto das matrizes M e N : segmento
Á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
ESTRUTURA DE DADOS. Arvore Binária Jose. Arvore Ternaria Direção
ESTRUTURA DE DADOS 1. Árvores: Uma das mais importantes classes de estruturas de dados em computação são as árvores. Aproveitando-se de sua organização hierárquica, muitas aplicações são realizadas usando-se
Teoria dos Grafos Aula 18
Teoria dos Grafos Aula 18 Aula passada Coloração Algoritmo guloso Número cromático Teorema das 4 cores Aula de hoje Clusterização (ou agrupamento) Algoritmo Variação Clusterização Coleção de objetos Agrupar
Teoria dos Grafos. Edson Prestes
Edson Prestes Árvores Sabemos que com um ou dois vértices apenas uma árvore pode ser formada. Entretanto com três vértices podemos formar três árvores. Com quatro vértices temos quatro estrelas e doze
Mergesort. Aula 04. Algoritmo Mergesort. Divisão e Conquista. Divisão e Conquista- MergeSort
Mergesort Aula 0 Divisão e Conquista- MergeSort Prof. Marco Aurélio Stefanes marco em dct.ufms.br www.dct.ufms.br/ marco Mergesort é um algoritmo de ordenação recursivo Ele recursivamente ordena as duas
2. (Fuvest 2005) A base ABCD da pirâmide ABCDE é um retângulo de lados AB = 4 e BC = 3.
1. (Fuvest 2004) No sólido S representado na figura ao lado, a base ABCD é um retângulo de lados AB = 2Ø e AD = Ø; as faces ABEF e DCEF são trapézios; as faces ADF e BCE são triângulos eqüiláteros e o
LISTA EXTRA DE EXERCÍCIOS MAT /I
LISTA EXTRA DE EXERCÍCIOS MAT 008/I. Dados os vetores v = (0,, 3), v = (-, 0, 4) e v 3 = (, -, 0), efetuar as operações indicadas: (a) v 3-4v R.: (4,-,-6) (b) v -3v +v 3 R.: (3,0,-6). Determine: (a) x,
Módulo de Elementos básicos de geometria plana. Condição de alinhamentos de três pontos e a desigualdade triangular. Oitavo Ano
Módulo de Elementos básicos de geometria plana Condição de alinhamentos de três pontos e a desigualdade triangular Oitavo Ano Condição de alinhamentos de três pontos e a desigualdade triangular Exercícios
Algoritimos e Estruturas de Dados III CIC210
Algoritimos e Estruturas de Dados III CIC210 Divisão e Conquista Haroldo Gambini Santos Concurso Universidade Federal de Ouro Preto - UFOP 3 de setembro de 2009 Haroldo Gambini Santos Divisão e Conquista
30's Volume 22 Matemática
30's Volume Matemática www.cursomentor.com 0 de julho de 015 Q1. Um homem de x + 6 5 altura x + 97 m de altura está de pé próximo a um poste de m. Neste 50 5 caso qual a medida da sombra do homem neste
Questão 1 Questão 2. Resposta. Resposta
Questão 1 Questão Um jogo consiste num dispositivo eletrônico na forma de um círculo dividido em 10 setores iguais numerados, como mostra a figura. A figura mostra um sistema rotativo de irrigação sobre
Grafos. Notas. Notas. Notas. Notas. Caminhos mais curtos de única origem. Subestrutura ótima. Propriedades de caminhos mais curtos
Grafos Caminhos mais curtos de única origem Conteúdo Subestrutura ótima Inicialização Propriedades de caminhos mais curtos Algoritmos Algoritmo de Bellman-Ford Caminhos mais curtos de única origem em gaos
Estruturas de Dados. Cristina Gomes Fernandes. Estruturas de Dados p. 1
Estruturas de Dados Cristina Gomes Fernandes Estruturas de Dados p. 1 ABBs rubro-negras Uma ABB é rubro-negra se 1. todo nó é rubro ou negro 2. toda folha (NIL) é negra 3. se um nó é rubro, então seus
Grafos: aplicações. Grafos: árvore geradora mínima
árvore geradora mínima caminhos mínimos problemas tipo 1 desejase conectar todos os computadores em um prédio usando a menor quantidade possível de cabos uma companhia aérea deseja voar para algumas cidades
Projeto Jovem Nota 10 Áreas de Figuras Planas Lista 4 Professor Marco Costa
1 Projeto Jovem Nota 10 1. (Ufscar 2001) Considere o triângulo de vértices A, B, C, representado a seguir. a) Dê a expressão da altura h em função de c (comprimento do lado AB) e do ângulo A (formado pelos
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).
Algoritmos de ordenação Heapsort
Algoritmos de ordenação Heapsort Sumário Introdução A estrutura de dados heap Definição Manutenção da propriedade de heap A construção de um heap O algoritmo heapsort Introdução Características do heapsort
Complexidade de Algoritmos. Edson Prestes
Edson Prestes Idéias básicas Um algoritmo guloso seleciona, a cada passo, o melhor elemento pertencente a entrada. Verifica se ele é viável - vindo a fazer parte da solução ou não. Após uma seqüência de
Gabarito - Matemática - Grupos I/J
1 a QUESTÃO: (1,0 ponto) Avaliador Revisor Para a estréia de um espetáculo foram emitidos 1800 ingressos, dos quais 60% foram vendidos até a véspera do dia de sua realização por um preço unitário de R$
Árvores UFES. Teoria dos Grafos. CC/EC/Mestrado
Árvores Árvores Grafo Acíclico: não possui ciclos Árvores Grafo Acíclico: não possui ciclos Uma árvore é um grafo conexo acíclico Árvores Grafo Acíclico: não possui ciclos Uma árvore é um grafo conexo
Matemática: Geometria Plana Vestibulares UNICAMP
Matemática: Geometria Plana Vestibulares 015-011 - UNICAMP 1. (Unicamp 015) Seja r a reta de equação cartesiana x y. Para cada número real t tal que 0 t, considere o triângulo T de vértices em (0, 0),
a) 6% b) 7% c) 70% d) 600% e) 700%
- MATEMÁTICA 01) Supondo-se que o número de vagas em um concurso vestibular aumentou 5% e que o número de candidatos aumentou 35%, o número de candidatos por vaga para esse curso aumentou: a) 8% b) 9%
CONCEITOS BÁSICOS EM GRAFOS
Um grafo (simples) G é formado por um conjunto de vértices, denotado por V(G), e um conjunto de arestas, denotado por E(G). Cada aresta é um par (não ordenado) de vértices distintos. Se xy é uma aresta,
ANÁLISE DE ALGORITMOS (INF 1721)
PUC-Rio Departamento de Informática Prof. Marcus Vinicius S. Poggi de Aragão (3WA) Lorenza Moreno e David Sotelo (3WB) Horário: 2as. e 4as. 15-17hs (3WA), 3as. e 5as. 19-21 (3WB) 5 de abril de 2010 Período:
Árvores. Thiago Martins, Fabio Gagliardi Cozman. PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo
PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo Árvore: estrutura composta por nós e arestas entre nós. As arestas são direcionadas ( setas ) e: um nó (e apenas um) é a raiz; todo nó
Introdução à Teoria dos Grafos (MAC-5770) IME-USP Depto CC Profa. Yoshiko. Capítulo 3
Introdução à Teoria dos Grafos (MAC-5770) IME-USP Depto CC Profa. Yoshiko Capítulo 3 Árvores Problema: Suponha que numa cidade haja n postos telefônicos. Para que seja sempre possível haver comunicação
Aula 10: Tratabilidade
Teoria da Computação DAINF-UTFPR Aula 10: Tratabilidade Prof. Ricardo Dutra da Silva Na aula anterior discutimos problemas que podem e que não podem ser computados. Nesta aula vamos considerar apenas problemas
Matemática Discreta 10
Universidade Federal do Vale do São Francisco Curso de Engenharia da Computação Matemática Discreta 10 Prof. Jorge Cavalcanti [email protected] - www.univasf.edu.br/~jorge.cavalcanti 1 Muitas
CONCEITO DE ÁRVORE CES-11. A raiz é o único nó que não possui ancestrais. As folhas são os nós sem filhos. Exemplos:
Árvores associadas a árvore Tantos as pilhas como as filas são estruturas lineares, isto é, de uma única dimensão. Na sua implementação, as listas ligadas possibilitam maior flexibilidade que os vetores,
Online Survivable Network Design
Fonte: Artigo de Gupta, Krishnaswamy e Ravi. 06 de abril de 2011, IC-Unicamp. Problema de Survivable Network Design Problema de construir uma rede com tolerância a falhas. Podemos considerar falhas nos
Controle do Professor
Controle do Professor Compensou as faltas CURSO: CIÊNCIA DA COMPUTAÇÃO DISCIPLINA: GEOMETRIA ANALÍTICA VETORIAL E INTRODUÇÃO À ÁLGEBRA LINEAR SÉRIE: 2º ANO TRABALHO DE COMPENSAÇÃO DE FALTAS DOS ALUNOS
n. 15 ÁREA DE UM TRIÂNGULO Logo, a área do triângulo é obtida calculando-se a metade da área do S = 1 2
n. 15 ÁREA DE UM TRIÂNGULO Do cálculo da área do paralelogramo temos: S ABCD = u x v Logo, a área do triângulo é obtida calculando-se a metade da área do paralelogramo, portanto S ABC = 1 u x v Assim,
ÁRVORES E ÁRVORE BINÁRIA DE BUSCA
ÁRVORES E ÁRVORE BINÁRIA DE BUSCA Prof. André Backes Definição 2 Diversas aplicações necessitam que se represente um conjunto de objetos e as suas relações hierárquicas Uma árvore é uma abstração matemática
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.
Geometria Computacional
GeoComp 2014 p. 1/29 Geometria Computacional Cristina G. Fernandes Departamento de Ciência da Computação do IME-USP http://www.ime.usp.br/ cris/ segundo semestre de 2014 GeoComp 2014 p. 2/29 Poliedros
3. São dadas as coordenadas de u e v em relação a uma base ortonormal fixada. Calcule a medida angular entre u e v.
1 a Produto escalar, produto vetorial 2 a Lista de Exercícios MAT 105 1. Sendo ABCD um tetraedro regular de aresta unitária, calcule AB, DA. 2. Determine x de modo que u e v sejam ortogonais. (a) u = (x
Análise de algoritmos
Análise de algoritmos Recorrências Conteúdo Introdução O método mestre Referências Introdução O tempo de execução de um algoritmo recursivo pode frequentemente ser descrito por uma equação de recorrência.
Doutorado em Ciência da Computação. Algoritmos e Grafos. Raimundo Macêdo LaSiD/DCC/UFBA
Doutorado em Ciência da Computação Algoritmos e Grafos Raimundo Macêdo LaSiD/DCC/UFBA Grafo Completo Grafo simples cujos vértices são dois a dois adjacentes. Usa-se a notação K n para um grafo completo
Grupo 1 - PIC OBMEP 2011 Módulo 2 - Geometria. Resumo do Encontro 6, 22 de setembro de Questões de geometria das provas da OBMEP
Grupo 1 - PIC OBMEP 2011 Módulo 2 - Geometria Resumo do Encontro 6, 22 de setembro de 2012 Questões de geometria das provas da OBMEP http://www.obmep.org.br/provas.htm 1. Área: conceito e áreas do quadrado
Teoria dos Grafos Aula 2
Teoria dos Grafos Aula 2 Aula passada Logística, regras Objetivos Grafos, o que são? Formando pares Encontrando caminhos Aula de hoje Outro problema real Definições importantes Algumas propriedades Grafo
Algoritmos de Ordenação: HeapSort
Algoritmos de Ordenação: HeapSort ACH2002 - Introdução à Ciência da Computação II Delano M. Beder Escola de Artes, Ciências e Humanidades (EACH) Universidade de São Paulo [email protected] 10/2008 Material
PROVA DE MATEMÁTICA QUESTÃO 31 QUESTÃO 32. Sejam a, b e c números reais e positivos tais que. c. Então, é CORRETO afirmar que. A) a 2 = b 2 + c 2
PROVA DE MATEMÁTICA QUESTÃO 3 Sejam a, b e c números reais e positivos tais que. c Então, é CORRETO afirmar que A) a 2 = b 2 + c 2 B) b = a + c C) b 2 = a 2 + c 2 D) a = b + c QUESTÃO 32 Um carro, que
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
(A) a 2 + b 2 c 2 = 0 (B) a 2 b 2 c 2 = 0 (C) a 2 + b 2 + c 2 = 0 (D) a 2 b 2 + c 2 = 0 (E) a 2 = b 2 = c 2 (A) 25. (B) 50. (C) 100. (D) 250. (E) 500.
(UFRGS/), semanas corresponde a (A) dias e ora dias, oras e 4 minutos (C) dias, oras e 4 minutos (D) dias e oras (E) dias MATEMÁTICA (A) a + b c = a b c = (C) a + b + c = (D) a b + c = (E) a = b = c 5
MAT VETORES E GEOMETRIA - IF/IME 1 o SEMESTRE 2015
MAT 112 - VETORES E GEOMETRIA - IF/IME 1 o SEMESTRE 2015 LISTA 1 1. Ache a soma dos vetores indicados na figura, nos casos: 2. Ache a soma dos vetores indicados em cada caso, sabendo-se que (a) ABCDEFGH
Ponto q está no polígono?
Ponto q está no polígono? P convexo Geometria Computacional p.1/12 Ponto q está no polígono? P convexo Algoritmo trivial: verifique se q está à esquerda de todas as arestas de P Geometria Computacional
RESOLUÇÀO DA PROVA DE MATEMÁTICA VESTIBULAR DA FUVEST_2007_ 2A FASE. RESOLUÇÃO PELA PROFA. MARIA ANTÔNIA CONCEIÇÃO GOUVEIA
RESOLUÇÀO DA PROVA DE MATEMÁTICA VESTIBULAR DA FUVEST_007_ A FASE RESOLUÇÃO PELA PROFA MARIA ANTÔNIA CONCEIÇÃO GOUVEIA Questão Se Amélia der R$3,00 a Lúcia, então ambas ficarão com a mesma quantia Se Maria
a) Falsa. Dois ou mais pontos podem ser coincidentes, por exemplo. b) Falsa. Os três pontos não podem ser colineares.
01 a) Falsa. Dois ou mais pontos podem ser coincidentes, por exemplo. b) Falsa. Os três pontos não podem ser colineares. c) Verdadeira. Três pontos distintos e não colineares sempre determinam um plano.
TIPO DE PROVA: A. Questão 3. Questão 1. Questão 4. Questão 2. alternativa D. alternativa E. alternativa D. alternativa D
Questão TIPO DE PROVA: A O algarismo das dezenas do número! é: a) 5 b) 0 c) d) 7 e) A quantidade de zeros com que termina o número n! é igual ao número de fatores 5 presentes em sua fatoração. Na fatoração
PLANO DE DISCIPLINA DISCIPLINA: Algoritmos e Programação
UNIVERSIDADE FEDERAL DE UBERLÂNDIA FACULDADE DE COMPUTAÇÃO BACHARELADO EM GESTÃO DA INFORMAÇÃO PLANO DE DISCIPLINA DISCIPLINA: Algoritmos e Programação ( X ) SEMESTRAL - ( ) ANUAL CÓDIGO: GGI026 PERÍODO:
O B. Podemos decompor a pirâmide ABCDE em quatro tetraedros congruentes ao tetraedro BCEO. ABCDE tem volume igual a V = a2.oe
GABARITO - QUALIFICAÇÃO - Setembro de 0 Questão. (pontuação: ) No octaedro regular duas faces opostas são paralelas. Em um octaedro regular de aresta a, calcule a distância entre duas faces opostas. Obs:
