Grafos - O que é um grafo? Algoritmos e Estruturas de Dados LEE 2013/14. Objecto abstracto Dois tipos de entidades. Vértices representam
|
|
- Henrique Bonilha Belo
- 7 Há anos
- Visualizações:
Transcrição
1 Algoritmos e Estruturas de Dados LEE 2013/14 Teoria de Grafos e Algoritmos em Grafos 1ª Parte Grafos - O que é um grafo? Objecto abstracto Dois tipos de entidades Nós ou Vértices Ramos ou Arestas Vértices representam Cidades, pessoas, máquinas, números, etc Arestas representam Existência de ligações entre nós, valor da ligação entre nós, distância entre nós, etc 2
2 Grafos - Motivação Mapas caminhos mais curtos; caminhos mais baratos. Circuitos Eléctricos existência de curto-circuitos; existência de cruzamento entre ligações. Sequenciamento tarefas a executar por um conjunto de recursos sujeitas a restrições de carácter tecnológico. Emparelhamento processamento de imagem estéreo; atribuição de pessoas a lugares. Redes de dados computadores ligados entre si, enviando e recebendo mensagens; existência de ligação entre quaisquer nós; redundância. Estrutura de Programas grafos gerados por compiladores representando a estrutura de chamadas; 3 Grafos Definições (1) Definição Um grafo é um conjunto de vértices e um conjunto de arestas que ligam pares de vértices distintos (com nunca mais que uma aresta a ligar qualquer par de vértices). Definição Dois vértices ligados por uma aresta dizem-se adjacentes. Definição Uma aresta que ligue dois vértices diz-se incidente de cada um dos vértices. 4
3 Grafos Definições (2) Definição O número de arestas incidentes num vértice dizse o grau desse vértice. Definição O subconjunto de arestas e vértices a elas associados diz-se um sub-grafo do grafo original. Definição Uma sequência de vértices na qual os vértices sucessivos estão ligados por arestas do grafo diz-se um caminho. 5 Grafos Definições (3) Definição Num caminho simples os vértices e arestas são distintos. Definição Um caminho em que todos os vértices e arestas são distintos, excepto para o primeiro e último que são iguais, diz-se um ciclo. Definição Dois caminhos simples dizem-se disjuntos se não possuírem vértices comuns, excepto possivelmente para os vértices extremos. 6
4 Grafos Definições (4) Definição Um grafo diz-se ligado se existir um caminho de cada vértice para todos os outros vértices do grafo. Definição Um grafo que não seja ligado é constituído por componentes ligadas, que se dizem sub-grafos ligados máximos. Definição Um grafo ligado acíclico, i.e. sem ciclos, diz-se uma árvore. 7 Grafos Definições (5) Definição Um conjunto de árvores diz-se uma floresta. Definição A árvore de suporte de um grafo ligado é um subgrafo que contém todos os vértices e é uma árvore. Definição A floresta de suporte de um grafo é um sub-grafo que contém todos os seus vértices e é uma floresta. 8
5 Grafos Propriedades em árvores Um grafo G de V vértices é uma árvore se e só se satisfizer qualquer das seguintes condições: G tem V-1 arestas e nenhum ciclo. G tem V-1 arestas e é ligado. Existe apenas um caminho simples a unir quaisquer dois vértices. G é ligado mas retirando uma só aresta faz com que deixe de o ser. 9 Grafos Exemplos (1) G Os vértices 6 e 7 são adjacentes. Os vértices 4 e 6 não são adjacentes. O vértice 7 tem grau quatro. 10
6 Grafos Exemplos (2) G G é um sub-grafo de G, gerado a partir das arestas a cheio. O vértice 5 não pertence a G. G é um grafo ligado; G não é. O sub-grafo G é constituído por um grafo completo com três vértices e por uma árvore com quatro vértices 11 Grafos Exemplos (3) G G Caminho: Ciclo:
7 Grafos Exemplos (4) G G : árvore de suporte de G. 13 Grafos - Definições e Propriedades (1) Definição Um grafo diz-se completo quando existe uma aresta ligando qualquer par de vértices. Propriedade Um grafo com V vértices possui, no máximo, V(V-1)/2 arestas. Definição Um grafo G diz-se complemento do grafo G quando se obtém a partir de um grafo completo com o mesmo número de vértices de G, retirando-lhe todas as arestas de G. 14
8 Grafos - Definições e Propriedades (2) Definição Um grafo que possua um número de arestas próximo do número máximo diz-se denso. Definição Um grafo cujo complemento seja denso diz-se esparso. Definição Densidade de um grafo: 2E/V, em que E é o número de arestas e V o de vértices. Definição A um sub-grafo completo dá-se o nome de clique. 15 Grafos - Definições e Propriedades (3) Definição Um grafo que possua a propriedade de ser possível dividir os vértices em dois conjuntos tais que todas as arestas apenas ligam vértices de um conjunto a vértices do outro conjunto diz-se bipartido. Definição Quando existe um sentido atribuído às arestas, os grafos dizem-se direccionados, dirigidos ou digrafos. Definição O primeiro vértice de uma aresta direccionada diz-se fonte e o segundo diz-se destino. 16
9 Grafos - Definições e Propriedades (4) Propriedade Apenas os vértices destino são adjacentes dos vértices fonte. Definição Um ciclo direccionado num digrafo é um ciclo em que todos os pares de vértices adjacentes surgem pela ordem especificada pelas arestas. Definição Um digrafo sem ciclos direccionados diz-se grafo direccionado acíclico, ou DAG (Directed Acyclic Graph). 17 Grafos - Definições e Propriedades (5) Definição Quando se atribuem pesos às arestas, representando custo, distância, etc., diz-se que o grafo é ponderado. Também é possível atribuir pesos aos próprios vértices, ou a pares vértice/aresta. Definição Grafos ponderados direccionados, dizem-se redes. 18
10 Grafos - Interface ADT para Grafos (1) Os algoritmos para processamento de grafos serão desenvolvidos no contexto de uma ADT que define as tarefas de interesse. A nossa primeira interface elementar é tal que: O número de vértices e arestas são especificados por inteiros; Uma aresta é definida por um par de inteiros, designando os vértices que une; O número de vértices é limitado superiormente. Esta interface irá sendo alargada à medida das necessidades. 19 Grafos - Interface ADT para Grafos (2) typedef struct edge Edge; Edge *EDGE(int, int); typedef struct graph Graph; Graph *GRAPHinit(int); void GRAPHinsertE(Graph *G, Edge*); void GRAPHremoveE(Graph *G, Edge*); int GRAPHedges(Edge a[], Graph *G); Graph *GRAPHcopy(Graph G*); void GRAPHdestroy(Graph G*); Graphinit cria grafo com o número final de vértices, sem arestas. GraphinsertE insere uma aresta, caso não exista. GraphremoveE retira uma aresta, caso exista. Graphedges conta o número de arestas. Graphcopy cria uma segunda cópia do grafo. Graphdestroy faz o inverso de Graphinit. 20
11 Grafos - Matriz de Adjacências (1) Matriz de Adjacências Matriz (VxV) de valores booleanos; A entrada correspondente à linha v e coluna w é 1 se existir uma aresta ligando estes dois vértices; A mesma entrada vale 0 caso contrário; A matriz é simétrica, excepto para digrafos, em que poderá não sê-lo. 22 Grafos - Matriz de Adjacências (2) Grafo Matriz G Matriz V V simétrica 23
12 Grafos - Implementação de ADT (1) #include <stdlib.h> #include GRAPH.h struct graph {int V; int E; int **adj;}; struct edge {int v; int w;}; Graph *GRAPHinit(int V) { Graph *G = (Graph*) malloc(sizeof(struct graph)); G->V = V; G->E = 0; G->adj = MATRIXint(V, V, 0); return G; } void GRAPHinsertE(Graph *G, Edge *e){ int v = e->v, w = e->w; if (G->adj[v][w] == 0) G->E++; G->adj[v][w] = 1; G->adj[w][v] = 1; } 24 Grafos - Implementação de ADT (2) void GRAPHremoveE(Graph *G, Edge *e) { int v = e->v, w = e->w; if (G->adj[v][w] == 1) G->E--; G->adj[v][w] = 0; G->adj[w][v] = 0; } int GRAPHedges(Edge a[], Graph G*) { int v, w, E = 0; } for (v = 0; v < G->V; v++) for (w = v+1; w < G->V; w++) if (G->adj[v][w] == 1) a[e++] = EDGE(v, w); return E; 25
13 Grafos Síntese da Aula 1 Introdução Definição de grafo Motivação aplicacional Definições e notação Propriedades elementares em grafos Exemplos Definições e propriedades Grafos completos, complemento de um grafo, densidade, cliques, grafos bipartidos, grafos direccionados, ciclos em grafos direccionados, grafos ponderados, redes. Estrutura abstracta de dados para grafos Interface elementar Representação de um grafo Matriz de adjacências 26 Grafos - Listas de Adjacências (1) Listas de Adjacências Cada vértice possui uma lista ligada; Os elementos constituintes da lista de um vértice são os seus vértices adjacentes; Em grafos simples, se os vértices v e w são adjacentes, então w pertence à lista de v e v pertence à lista de w. 27
14 Grafos - Lista de Adjacências (2) Grafo Lista de Adjacências G * V ponteiros para lista 28 Tabela com V listas* de arestas Grafos - Implementação de ADT (1) #include <stdlib.h> #include GRAPH.h typedef struct node link; struct node {int v; link *next;}; struct graph{int V; int E; link **adj;}; link NEW(int v, link *next) { link *x = (link *) malloc(sizeof(struct node)); x->v = v; x->next = next; return x; } 29
15 Grafos - Implementação de ADT (2) Graph GRAPHinit(int V) { int v; Graph *G = (Graph*) malloc(sizeof(struct graph)); G->V = V; G->E = 0; G->adj = (link **) malloc(v * sizeof(link*)); for (v = 0; v < V; v++) G->adj[v] = NULL; return G; } void GRAPHinsertE(Graph *G, Edge *e) { int v = e->v, w = e->w; G->adj[v] = NEW(w, G->adj[v]); G->adj[w] = NEW(v, G->adj[w]); G->E++; } 30 Grafos - Implementação de ADT (3) void GRAPHremoveE(Graph *G, Edge *e) { /* Fica como exercício */ } int GRAPHedges(Edge a[], Graph *G) { int v, E = 0; link t; } for (v = 0; v < G->V; v++) for (t = G->adj[v]; t!= NULL; t = t->next) if (v < t->v ) a[e++] = EDGE(v, t->v); return E; 31
16 Grafos - Vantagens das M. de Adj. Representação de eleição quando há espaço disponível; os grafos são densos; os algoritmos requerem mais que V 2 operações. Adição e remoção de arestas é feita de forma eficiente; É fácil evitar a existência de arestas paralelas; É fácil determinar se dois vértices estão ou não ligados. 32 Grafos - Inconvenientes das M. de Adj. Grafos esparsos de grande dimensão requerem espaço de memória proporcional a V 2 ; Neste casos, a simples inicialização do grafo (proporcional a V 2 ) pode ser dominante na execução global do algoritmo; Pode nem sequer existir memória suficiente para armazenar a matriz. 33
17 Grafos - Vantagens das L. de Adj. Inicialização é proporcional a V. Utiliza sempre espaço proporcional a V+E adequado para grafos esparsos. algoritmos que assentem na análise de arestas em grafos esparsos. Adição de arestas é feita de forma eficiente. 34 Grafos - Inconvenientes das L. de Adj. Arestas paralelas e adjacência entre vértices requer que se pesquise as listas de adjacências, o que pode levar um tempo proporcional a V. Remoção de arestas pode levar um tempo proporcional a V (este problema pode ser contornado). Não aconselhável para grafos de grande dimensão que não podem ter arestas paralelas; grande utilização de remoção de arestas. 35
18 Grafos - Variantes e Extensões (1) Outros tipos de grafos Digrafos ambas facilmente extensíveis; arestas representadas só uma vez; Grafos ponderados e redes M. de Adj. preenchida com pesos; L. De Adj. com campos extra para representação dos pesos. 36 Grafos - Variantes e Extensões (2) Alteração da estrutura de dados Tipo EDGE contendo informação adicional, para além dos vértices que liga. Vectores indexados pelos vértices Manutenção da informação do grau do vértice. Vector de arestas Forma alternativa de representação de grafos. 37
19 Grafos - Representações alternativas Três mecanismos básicos de representação de grafos Vector de arestas; Matriz de adjacências; Listas de adjacências. Produzem diferentes desempenhos ao nível das operações de manipulação. Escolha deverá depender do problema a resolver. 38 Grafos Desempenho Relativo V. de Arestas M. de Adj. L. de Adj. Espaço E V 2 V+E Inicialização 1 V 2 V Cópia E V 2 E Destruição 1 V E Inserir aresta Encontrar aresta E 1 V Remover aresta E 1 V Vértice isolado? E V 1 Caminho de u a v? Elg*V V 2 V+E 39
20 Grafos - Encontrar e remover arestas (1) Eficientes em representações por matriz de adjacências. Como torná-las eficientes para as outras representações? Atribuir um símbolo inteiro a cada aresta Aresta v-w fica com o símbolo v*v+w. Por exemplo, fazer uso de tabelas de dispersão ( hash-tables ) Quando uma aresta é inserida, é fácil testar se o símbolo já foi usado. 40 Grafos - Encontrar e remover arestas (2) Remoção em digrafos ponteiro na tabela de dispersão para a sua representação na lista de adjacências; requer listas duplamente ligadas. Remoção em grafos simples colocação de ambos os ponteiros na tabela de dispersão; ou ponteiro entre os vértices. 41
21 Grafos Procura (1) Algumas propriedades simples em grafos são fáceis de determinar, independentemente da ordem pela qual se examinam as arestas. Ex: grau de todos os vértices. Outras propriedades estão associadas a caminhos, pelo que se torna necessário identificá-las através de pesquisa feita de vértice em vértice ao longo das arestas. A maioria dos algoritmos em grafos que consideraremos usam este modelo abstracto básico. Torna-se então necessário analisar o essencial dos algoritmos de procura em grafos e suas propriedades estruturais. 43 Grafos Procura (2) Procurar em grafos é equivalente a percorrer labirintos Necessário marcar pontos já visitados Ser-se capaz de recuar, num caminho efectuado, até ao ponto de partida. Os vários algoritmos de procura em grafos mais não fazem que executar uma determinada estratégia de procura em labirintos. Procura em profundidade primeiro (DFS Depth-first-search ). Admite duas implementações: recursiva e com uso de pilha explícita. Substituindo a pilha por uma fila FIFO, transforma-se em procura em largura primeiro (BFS Breadth-first-search ). 44
22 Grafos Exploração de labirintos (1) Teseu, Ariadne e o seu pequeno problema com o Minotauro Desenrolar um rolo de fio para poder voltar ao princípio Marcar os lugares já visitados para evitar repetição. Nós e os grafos Existem lâmpadas, inicialmente apagadas, em cada encruzilhada vértice. Cada corredor aresta possui um par de portas, inicialmente fechadas, no início e no fim deste. As portas têm janelas que nos permitem ver se a porta do lado oposto está ou não fechada e se a luz da encruzilhada correspondente está ou não acesa. O objectivo é regressar à encruzilhada inicial tendo aberto todas as portas e acendido todas as luzes. Necessitamos um conjunto de regras que garanta que tal acontece. 45 Grafos Exploração de labirintos (2) Estratégia Exploração de Tremaux 1. Abrir uma qualquer porta que esteja fechada e dê acesso a uma saída da presente encruzilhada (deixá-la aberta). Se todas as portas estiverem abertas, saltar para Se a partir da porta que foi aberta for visível que a encruzilhada em que o corredor termina foi acesa, abrir outra porta (passo 1). Caso contrário (a encruzilhada está às escuras), seguir o corredor, desenrolando o fio, até essa encruzilhada, acender a luz e voltar ao passo Se todas as portas estão abertas na presente encruzilhada, verificar se é a primeira visitada. Se sim, parar. Se não, usar o fio para recuar até à última encruzilhada visitada e voltar ao passo 1. 46
23 Grafos Exemplo de execução (DFS) 0 2 Chegados No Neste Acende Escolhe Recua vértice vértice até a uma luz ao 40 5 já vértice no todas ainda último (4), estão não primeiro portas a única há 1, e não todas portas continua vértice há as que por mais conduzem e que portas seguindo abre dá abrir. ainda portas acesso a abertas, primeira possui a em por a abrir, pelo pontos frente corredores portas que pelo (do enquanto por não tem que vértice abrir. que visitados que inicia dão não 0 para o levanos o houver acesso vértice para a escolha. vértices o de 2) a recuar. e recuo. segue de 7. em luz processo continuar frente acesa. abrindo sempre a única porta existente (até ao vértice 4) Grafos Estratégia de Tremaux Propriedade Quando se usa a estratégia de exploração de labirintos de Tremaux abrem-se todas as portas, acendem-se todas as luzes e termina-se no local de partida. Demonstração (esboço): Prova-se por indução, mostrando primeiro ser verdade para um labirinto com apenas uma encruzilhada e nenhum corredor basta acender a única luz. Para um labirinto com mais que uma encruzilhada assume-se ser verdade para todos os labirintos menores com menos encruzilhadas. Bastará mostrar que se visitam todas as intersecções, dado que se abrem todas as portas de cada uma delas. Considere-se o primeiro corredor tomado. O grafo fica dividido em dois sub-grafos: as intersecções que se visitam sem regressar à origem; e as que só são visitáveis regressando ao ponto de partida. 58
24 Grafos DFS Notar que a estratégia de procura de Tremaux, mais não é que procura em profundidade primeiro. O algoritmo procede sempre abrindo uma porta e afastandose da origem, até que chega a um ponto em que não pode abrir mais portas, tendo então que recuar até ao último ponto onde deixou, pelo menos, uma porta por abrir. Se ao recuar nunca encontrar portas por abrir, acabará regressando ao ponto de partida, dado que o fio que desenrolou no caminho descendente, lhe permite esse regresso. 59 Grafos Síntese da Aula 2 Representação de um grafo Listas de adjacência; Implementações da estrutura abstracta de dados Comparação das representações alternativas Vantagens e inconvenientes das matrizes de adjacência; Vantagens e inconvenientes das listas de adjacência Variantes e extensões Grafos direccionados, ponderados e redes; Outras representações Comparação das representações alternativas Memória e tempo de execução Procura em grafos Analogia com a exploração de labirintos; Estratégia de Tremaux Procura em profundidade - DFS Exemplo de execução 60
Grafos - O que é um grafo? Algoritmos e Estruturas de Dados MEEC 2012/13. Objecto abstracto Dois tipos de entidades. Vértices representam
Algoritmos e Estruturas de Dados MEEC 01/1 Teoria de Grafos e Algoritmos em Grafos 1ª Parte Grafos - O que é um grafo? Objecto abstracto Dois tipos de entidades Nós ou Vértices Ramos ou Arestas Vértices
Leia maisAED Algoritmos e Estruturas de Dados LEEC /2007. Teoria de Grafos e Algoritmos em Grafos
AED Algoritmos e Estruturas de Dados LEEC - 2006/2007 Teoria de Grafos e Algoritmos em Grafos Grafos - O que éum grafo? Objecto abstracto Dois tipos de entidades Nós ou Vértices Ramos ou Arestas Vértices
Leia maisGrafos - O que é um grafo? Algoritmos e Estruturas de Dados LEE 2014/15. Algoritmos e Estruturas de Dados - C. Teoria de Grafos e Algoritmos em Grafos
Algoritmos e Estruturas de Dados LEE / Teoria de Grafos e Algoritmos em Grafos Grafos - O que é um grafo? Objecto abstracto Dois tipos de entidades Nós ou Vértices Ramos ou Arestas Vértices representam
Leia maisRepresentações de Grafos
Representações de Grafos Teoria dos Grafos 1 É possível diversas representações dos grafos. Vamos estudar as três utilizadas mais comumente: as matrizes de adjacência, as listas de adjacência e as multilistas
Leia maisCaminhos em Grafos. Grafos - Caminho Simples (1) (Cliente para M. de Adj.) static int visited[maxv];
Caminhos em rafos Caminho simples Dados dois vértices num grafo, saber se estão ligados por um caminho; Determinar se o caminho existe ou calculá-lo explicitamente; Caminho de Hamilton Dados dois vértices
Leia maisNa última aula... Algoritmos em Grafos 1º sem / 80
Na última aula... Algoritmos em Grafos 1º sem 01 1 / 80 Procurando um caminho Problema: dados um digrafo G e dois vértices s e t decidir se existe um caminho de s a t Exemplo: para s = 0 e t = 1 a resposta
Leia maisNa última aula... Procurando um caminho. Certificados. Procurando um caminho
Procurando um caminho Problema: dados um digrafo G e dois vértices s e t decidir se existe um caminho de s a t Na última aula... Exemplo: para s = e t = a resposta é SIM Algoritmos em Grafos º sem / Procurando
Leia maisAnálise e Síntese de Algoritmos. Algoritmos em Grafos CLRS, Cap. 22
Análise e Síntese de Algoritmos Algoritmos em Grafos CLRS, Cap. 22 Mudança no Horário Aulas Teóricas de 4ª feira 10:30 12:00 Sala: FA1 12:00 13:30 Sala: FA1 Deixa de haver aula teórica às 9:00 por troca
Leia maisTeoria 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
Leia maisMelhores momentos AULA 4
Melhores momentos AULA 4 Procurando um caminho Problema: dados um digrafo G e dois vértices s e t decidir se existe um caminho de s a t Exemplo: para s = 0 e t = 1 a resposta é SIM 2 1 0 4 3 5 Procurando
Leia maisNa última aula... Algoritmos em Grafos 1º sem / 1
Na última aula... Algoritmos em Grafos 1º sem 01 1 / 1 Procurando um caminho Problema: dados um digrafo G e dois vértices s e t decidir se existe um caminho de s a t Exemplo: para s = 0 e t = 1 a resposta
Leia maisNa última aula... Procurando um caminho. Certicados. Problema: dados um digrafo G e dois vértices s e t decidir se existe um caminho de s a t
Procurando um caminho Problema: dados um digrafo G e dois vértices s e t decidir se existe um caminho de s a t Exemplo: para s = e t = a resposta é SIM Na última aula... Algoritmos em Grafos º sem / Procurando
Leia mais03 Grafos: percurso, ponderação e caminhos SCC0503 Algoritmos e Estruturas de Dados II
03 Grafos: percurso, ponderação e caminhos SCC0503 Algoritmos e Estruturas de Dados II Prof. Moacir Ponti Jr. www.icmc.usp.br/~moacir Instituto de Ciências Matemáticas e de Computação USP 2011/1 Moacir
Leia maisINF 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
Leia maisGrafos COM11087-Tópicos Especiais em Programação II
Grafos COM11087-Tópicos Especiais em Programação II edmar.kampke@ufes.br Introdução Grafos são estruturas muito estudadas na Ciência da Computação para modelagem de problemas Euler (1736) em Königsberg
Leia maisAULA 4. Procurando um caminho. Melhores momentos. Certicados. Certicado de inexistência
Melhores momentos Procurando um caminho Problema: dados um digrafo G e dois vértices s e t decidir se existe um caminho de s a t Exemplo: para s = e t = a resposta é SIM AULA 3 Procurando um caminho Certicados
Leia maisMelhores momentos AULA 4
Melhores momentos AULA Procurando um caminho Problema: dados um digrafo G e dois vértices s e t decidir se existe um caminho de s a t Exemplo: para s = 0 e t = 1 a resposta é SIM 1 0 3 5 Procurando um
Leia maisCalculando distâncias
Calculando distâncias Problema: dados um digrafo G e um vértice s, determinar a distância de s aos demais vértices do digrafo Exemplo: para s = v 3 5 dist[v] 3 3 5 Algoritmos em Grafos º sem / Busca em
Leia maisGrafos: Busca. SCE-183 Algoritmos e Estruturas de Dados 2. Thiago A. S. Pardo Maria Cristina
Grafos: Busca SCE-183 Algoritmos e Estruturas de Dados 2 Thiago A. S. Pardo Maria Cristina Percorrendo um grafo Percorrendo um Grafo Percorrer um grafo é um problema fundamental Deve-se ter uma forma sistemática
Leia maisAlgoritmos e Estruturas de Dados. Grafos Semestre de Inverno 13/14
Algoritmos e Estruturas de Dados Grafos Semestre de Inverno 13/14 1 Grafo - Definição } Um grafo G=(V,E) é um par de dois conjuntos não vazios em que V é um conjunto finito e E é uma relação binária em
Leia maisFluxos em redes: o Problema do Fluxo máximo
1 Fluxos em redes: o Problema do Fluxo máximo Instância: uma rede (G, c) e vértices s e t G = (V, E) um grafo dirigido s e t V são dois vértices distinguidos c: E R 0 é uma função capacidade nas arestas
Leia maisAnálise e Síntese de Algoritmos
Análise e Síntese de Algoritmos Algoritmos Elementares em Grafos [CLRS, Cap. 22] 24/25 Contexto Revisão [CLRS, Cap.-3] Fundamentos; notação; exemplos Algoritmos em Grafos [CLRS, Cap.2-26] Algoritmos elementares
Leia maisGrafos - 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).
Leia maisTeoria 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
Leia maisINF 1010 Estruturas de Dados Avançadas
INF Estruturas de Dados Avançadas Grafos // DI, PUC-Rio Estruturas de Dados Avançadas. Aplicações de grafos grafo vértices arestas Cronograma tarefas restrições de preferência Malha viária interseções
Leia maisAlgoritmos e Estruturas de Dados LEE 2013/14. Teoria de Grafos e Algoritmos em Grafos 2ª Parte
Algoritmos e Estruturas de Dados LEE / Teoria de rafos e Algoritmos em rafos ª Parte rafos DFS Notar que a estratégia de procura de Tremaux, mais não é que procura em profundidade primeiro. O algoritmo
Leia maisAlgoritmos e Estruturas de Dados LEE 2015/16. Teoria de Grafos e Algoritmos em Grafos 2ª Parte
Algoritmos e Estruturas de Dados LEE / Teoria de rafos e Algoritmos em rafos ª Parte rafos DFS Notar que a estratégia de procura de Tremaux, mais não é que procura em profundidade primeiro. O algoritmo
Leia maisMelhores momentos AULA 12
Melhores momentos AULA Calculando distâncias Problema: dados um digrafo G e um vértice s, determinar a distância de s aos demais vértices do digrafo Exemplo: para s = v 3 5 dist[v] 3 3 5 Busca em largura
Leia maisMelhores momentos AULA 1
Melhores momentos AULA Digrafos digrafo = de vértices e conjunto de arcos arco = par ordenado de vértices Exemplo: v e w são vértices e v-w é um arco b d a f c e Especicação Digrafos podem ser especicados
Leia maisAED2 - Aula 22 Busca em largura, cálculo de distâncias
AED2 - Aula 22 Busca em largura, cálculo de distâncias Relembrando a busca genérica, usando um versão alternativa: marque todos os vértices como não encontrados. marque s como encontrado. coloque s no
Leia maisEstruturas de Dados Grafos
Estruturas de Dados Grafos Prof. Eduardo Alchieri (introdução) Grafo é um conjunto de pontos e linhas que conectam vários pontos Formalmente, um grafo G(V,A) é definido pelo par de conjuntos V e A, onde:
Leia maisEstrutura de Dados e Algoritmos e Programação e Computadores II. Aula 10: Introdução aos Grafos
Estrutura de Dados e Algoritmos e Programação e Computadores II Aula 10: Introdução aos Grafos História O assunto que se constitui no marco inicial da teoria de grafos é na realidade um problema algorítmico.
Leia maisgrafo nós vértices arcos arestas
GRAFOS E APLICAÇÕES 1. INTRODUÇÃO 1) Um grafo G = (V, E) consiste num conjunto de nós (ou vértices) V e num conjunto de arcos (ou arestas) E. Cada arco é representado por um par de nós. No seguinte exemplo,
Leia maisPesquisa em Grafos. Pedro Ribeiro 2014/2015 DCC/FCUP. Pedro Ribeiro (DCC/FCUP) Pesquisa em Grafos 2014/ / 33
Pesquisa em Grafos Pedro Ribeiro DCC/FCUP 2014/2015 Pedro Ribeiro (DCC/FCUP) Pesquisa em Grafos 2014/2015 1 / 33 Pesquisa em Grafos Uma das tarefas mais importantes é saber percorrer um grafo, ou seja
Leia maisGrafos: Busca. Algoritmos e Estruturas de Dados 2. Graça Nunes
Grafos: Busca Algoritmos e Estruturas de Dados Graça Nunes Percorrendo um grafo Percorrendo um Grafo Percorrer um grafo é uma tarefa fundamental Pense no caso de se procurar uma certa informação associada
Leia maisGRAFOS. Prof. André Backes. Como representar um conjunto de objetos e as suas relações?
8/0/06 GRAFOS Prof. André Backes Definição Como representar um conjunto de objetos e as suas relações? Diversos tipos de aplicações necessitam disso Um grafo é um modelo matemático que representa as relações
Leia maisPAA-DCC-UFAM. Grafos. Universidade Federal do Amazonas Departamento de Eletrônica e Computação
Grafos Universidade Federal do Amazonas Departamento de Eletrônica e Computação Grafos () Um grafo é composto por um conjunto de vértices e um conjunto de arestas Cada aresta liga dois vértices do grafo
Leia maisGrafos tipo abstrato de dados
Algoritmos e Estruturas de Dados II Grafos tipo abstrato de dados Thiago A. S. Pardo Profa. M. Cristina Material de aula da Profa. Josiane M. Bueno 1 Tipo Abstrato de Dados Última aula: TAD grafo? 2 Tipo
Leia maisMatemática Discreta 10
Universidade Federal do Vale do São Francisco Curso de Engenharia da Computação Matemática Discreta 10 Prof. Jorge Cavalcanti jorge.cavalcanti@univasf.edu.br - www.univasf.edu.br/~jorge.cavalcanti 1 Muitas
Leia maisUNIVERSIDADE 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
Leia maisBCC204 - 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
Leia maisÁ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
Leia maisCAL ( ) MIEIC/FEUP Grafos: Introdução (Março, 2011)
1 Algoritmos em Grafos: Introdução R. Rossetti, A.P. Rocha, A. Pereira, P.B. Silva, T. Fernandes CAL, MIEIC, FEUP Março de 2011 Índice 2 Revisão de conceitos e definições Exemplificar aplicações Representação
Leia maisESTRUTURA 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
Leia maisAula 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
Leia maisConjuntos disjuntos. Objectivo resolver eficientemente o problema da equivalência estrutura de dados simples (vector) implementação rápida
Conjuntos disjuntos Objectivo resolver eficientemente o problema da equivalência estrutura de dados simples (vector) implementação rápida Desempenho análise complicada Uso problemas de grafos equivalência
Leia maisCT-234. Estruturas de Dados, Análise de Algoritmos e Complexidade Estrutural. Carlos Alberto Alonso Sanches
CT-2 Estruturas de Dados, Análise de Algoritmos e Complexidade Estrutural Carlos Alberto Alonso Sanches CT-2 8) Algoritmos em grafos Conceitos básicos, representações, explorações sistemáticas Definição
Leia maisDisciplina: Matemática Discreta Agostinho Iaqchan Ryokiti Homa
Disciplina: Matemática Discreta Agostinho Iaqchan Ryokiti Homa Aula -Grafos Uma figura vale por mil palavras A representação de dados e ou informações utilizando de recursos visuais é, em muitos casos,
Leia mais8. Árvores. Fernando Silva DCC-FCUP. Estruturas de Dados. Fernando Silva (DCC-FCUP) 8. Árvores Estruturas de Dados 1 / 38
8. Árvores Fernando Silva DCC-FCUP Estruturas de Dados Fernando Silva (DCC-FCUP) 8. Árvores Estruturas de Dados 1 / 38 Árvores - estruturas não lineares (1) Uma lista é um exemplo de uma estrutura de dados
Leia mais8. Árvores. Fernando Silva. Estruturas de Dados DCC-FCUP. Fernando Silva (DCC-FCUP) 8. Árvores Estruturas de Dados 1 / 38
8. Árvores Fernando Silva DCC-FCUP Estruturas de Dados Fernando Silva (DCC-FCUP) 8. Árvores Estruturas de Dados 1 / 38 Árvores - estruturas não lineares (1) Uma lista é um exemplo de uma estrutura de dados
Leia maisGrafos Procura (1) AED (IST/DEEC) 44. Grafos Procura (2) Procurar em grafos é equivalente a percorrer labirintos
rafos Procura () Algumas propriedades simples em grafos são fáceis de determinar, independentemente da ordem pela qual se examinam as arestas. Ex: grau de todos os vértices. Outras propriedades estão associadas
Leia maisINF 1010 Estruturas de Dados Avançadas
INF Estruturas de Dados Avançadas Grafos // DI, PUC-Rio Estruturas de Dados Avançadas. Algoritmo de Dijkstra 8 8 Algoritmo de Dijkstra 8 8 8 Algoritmo de Dijkstra 8 8 8 Algoritmo de Dijkstra 8 8 8 8 8
Leia maisProblemas de Fluxo em Redes
CAPÍTULO 7 1. Conceitos fundamentais de grafos Em muitos problemas que nos surgem, a forma mais simples de o descrever, é representá-lo em forma de grafo, uma vez que um grafo oferece uma representação
Leia maisCAL ( ) 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
Leia maisTGR BCC Representação Computacional de Grafos. Prof. Ricardo José Pfitscher
TGR BCC Representação Computacional de Grafos Prof. Ricardo José Pfitscher Cronograma Representação Matriz de djacências Lista de djacências Matriz de Incidências Representação Como podemos representar
Leia maisGrafos. Marcelo K. Albertini. 22 de janeiro de 2015
Grafos Marcelo K. Albertini 22 de janeiro de 205 2/ Grafo Um conjunto de vértices conectados em pares por arestas. Porque estudar grafos? Muitas aplicações Abstração útil e interessante Muitos algoritmos
Leia maisCES-11. Algoritmos e Estruturas de Dados. Carlos Alberto Alonso Sanches
CES-11 Algoritmos e Estruturas de Dados Carlos Alberto Alonso Sanches Juliana de Melo Bezerra CES-11 Grafos Conceitos gerais e representações Algoritmos em grafos Exploração sistemática em largura Caminhos
Leia maisTeoria dos Grafos Aula 3
Teoria dos Grafos Aula 3 Aula passada Exemplo (mapas) Definições Algumas propriedades Aula de hoje Representando grafos Matriz e lista Comparando tempos de acesso Grafo G=(V, E) Grafo V = conjunto de vértices
Leia maisBusca em Largura. Adaptado de Humberto C. B. Oliveira
Busca em Largura Adaptado de Humberto C. B. Oliveira Últimas aulas Introdução: História Aplicações Conceitos Básicos: Grafo simples Grafo completo/vazio Grafo não orientado: Arestas laço Arestas paralelas
Leia maisGrafos Caminhos mais curtos
rafos Caminhos mais curtos Cada caminho num digrafo ponderado possui um peso -a soma dos pesos das arestas que o constituem. Esta característica origina directamente problemas como: determinar o caminho
Leia maisAULA 11 PROJETO E ANÁLISE DE ALGORITMOS. Conceitos básicos e representação de grafos Karina Valdivia Delgado
AULA 11 PROJETO E ANÁLISE DE ALGORITMOS Conceitos básicos e representação de grafos Karina Valdivia Delgado Roteiro Motivação Conceitos básicos Representação Motivação Um grafo é uma abstração que permite
Leia maisGrafos: algoritmos de busca
busca em grafos como caminhar no grafo de modo a percorrer todos os seus vértices evitando repetições desnecessárias do mesmo vértice? e por onde começar? solução: necessidade de recursos adicionais que
Leia maisDoutorado 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
Leia maisListas (Parte 1) Túlio Toffolo BCC202 Aula 09 Algoritmos e Estruturas de Dados I
Listas (Parte 1) Túlio Toffolo tulio@toffolo.com.br www.toffolo.com.br BCC202 Aula 09 Algoritmos e Estruturas de Dados I Ementa do Curso Tipos Abstratos de Dados / Alocação Dinâmica Análise de Algoritmos
Leia maisMelhores momentos AULAS 1-8
Melhores momentos AULAS 1-8 Procurando um caminho Problema: dados um digrafo G e dois vértices s e t decidir se existe um caminho de s a t Exemplo: para s = e t = 1 a resposta é SIM 2 1 4 3 5 Procurando
Leia maisESTRUTURAS DE DADOS. prof. Alexandre César Muniz de Oliveira. 1. Introdução 2. Pilhas 3. Filas 4. Listas 5. Árvores 6. Ordenação 7. Busca 8.
ESTRUTURAS DE DADOS prof. Alexandre César Muniz de Oliveira 1. Introdução 2. Pilhas 3. Filas 4. Listas 5. Árvores 6. Ordenação 7. Busca 8. Grafos Sugestão bibliográfica: ESTRUTURAS DE DADOS USANDO C Aaron
Leia maisGRAFOS 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
Leia maisGRAFOS Aula 05 Algoritmos de percurso: busca em largura e profundidade Max Pereira
Ciência da Computação GRAFOS Aula 05 Algoritmos de percurso: busca em largura e profundidade Max Pereira Busca em Largura (Breadth-First Search) Um dos algoritmos mais simples para exploração de um grafo.
Leia mais05 Grafos: ordenação topológica SCC0503 Algoritmos e Estruturas de Dados II
05 Grafos: ordenação topológica SCC0503 Algoritmos e Estruturas de Dados II Prof. Moacir Ponti Jr. www.icmc.usp.br/~moacir Instituto de Ciências Matemáticas e de Computação USP 2011/1 Moacir Ponti Jr.
Leia maisSUMÁ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
Leia maisGrafos Parte 1. Aleardo Manacero Jr.
Grafos Parte 1 Aleardo Manacero Jr. Uma breve introdução Grafos são estruturas bastante versáteis para a representação de diversas formas de sistemas e/ou problemas Na realidade, árvores e listas podem
Leia maisSCC-210 Algoritmos Avançados. Capítulo 9 Grafos. Adaptado por João Luís G. Rosa
SCC-21 Algoritmos Avançados Capítulo Grafos Adaptado por João Luís G. Rosa Representação (Skiena & Revilla, 2) Vértices rotulados: u Chaves (índices) são associadas aos vértices Arestas sem elementos.
Leia maisBCC402 Algoritmos e Programação Avançada. Prof. Marco Antonio M. Carvalho Prof. Túlio Toffolo 2012/1
BCC402 Algoritmos e Programação Avançada Prof. Marco Antonio M. Carvalho Prof. Túlio Toffolo 2012/1 Definições e Estruturas de Grafos Representações; Percursos Busca em Largura; Busca em Profundidade.
Leia maisTeoria dos Grafos. Aula 5 - Estruturas de Dados para Grafos. Profª. Alessandra Martins Coelho. março/2013
Teoria dos Grafos Aula 5 - Estruturas de Dados para Grafos Profª. Alessandra Martins Coelho março/2013 Estrutura é o que caracteriza o próprio grafo e independe da forma como ele é representado. A representação
Leia maisAula 09. Percurso em grafo
Logo Aula 09 Percurso em grafo 2 Percurso de grafo Veremos agora a pesquisa em profundidade e pesquisa em largura de um grafo. Ambos os algoritmos recebem um nó inicial no grafo, e eles visitam todos os
Leia maisMATEMÁTICA DISCRETA. Patrícia Ribeiro 2018/2019. Departamento de Matemática, ESTSetúbal 1 / 47
1 / 47 MATEMÁTICA DISCRETA Patrícia Ribeiro Departamento de Matemática, ESTSetúbal 2018/2019 2 / 47 1 Combinatória 2 Aritmética Racional 3 3 / 47 Capítulo 3 4 / 47 não orientados Um grafo não orientado
Leia maisCap. 2 Conceitos Básicos em Teoria dos Grafos
Teoria dos Grafos e Aplicações 8 Cap. 2 Conceitos Básicos em Teoria dos Grafos 2.1 Grafo É uma noção simples, abstrata e intuitiva, usada para representar a idéia de alguma espécie de relação entre os
Leia maisGrafos. Fabio Gagliardi Cozman. PMR2300 Escola Politécnica da Universidade de São Paulo
PMR2300 Escola Politécnica da Universidade de São Paulo Um grafo é uma estrutura que generaliza árvores, sendo formado por nós e arestas. Cada nó em um grafo pode ser conectado a vários outros nós por
Leia maisAcessibilidade e Fecho Transitivo de Grafos Dirigidos
1 Acessibilidade e Fecho Transitivo de Grafos Dirigidos 1. Fecho transitivo 2. Multiplicação de matrizes booleanas 3. Algoritmo de Warshall 4. Equivalência em termos de complexidade computacional com o
Leia maisEdital de Seleção 053/2016 PROPESP/UFAM. Prova de Conhecimento. Caderno de Questões
Edital de Seleção 053/2016 PROPESP/UFAM Prova de Conhecimento Caderno de Questões CANDIDATO: INSCRIÇÃO: Assinatura conforme identidade INSTRUÇÕES PARA O CANDIDATO: Verifique o seu nome e o número da sua
Leia maisÁrvores & Árvores Binárias
Árvores & Árvores Binárias Problema Implementações do TAD Lista Linear Lista encadeada eficiente para inserção e remoção dinâmica de elementos, mas ineficiente para busca Lista seqüencial (ordenada) Eficiente
Leia maisParte B Teoria dos Grafos
45 Parte B Teoria dos Grafos B. Grafos e Subgrafos Um grafo G é uma tripla ordenada (V(G), E(G), ), constituindo de um conjunto não vazio V(G) de vértices, um conjunto disjunto E(G) das arestas e uma função
Leia maisGRAFOS E ALGORITMOS TEORIA DE GRAFOS
GRAFOS E ALGORITMOS TEORIA DE GRAFOS 1a. PARTE Prof. Ronaldo R. Goldschmidt rribeiro@univercidade.br ronaldo_goldschmidt@yahoo.com.br ROTEIRO 1. INTRODUÇÃO E MOTIVAÇÃO 2. FUNDAMENTOS 3. CONECTIVIDADE 4.
Leia maisAlgoritmo 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
Leia maisPesquisa em profundidade. 1 - Grafos não dirigidos
Pesquisa em profundidade void dfs( Vertex v ) //epth-first search v.visited = true; for each w adjacent to v if(! w.visited ) dfs( w ); generalização da travessia em pré-ordem squema básico da pesquisa
Leia maisFacebook. Um grafo é uma rede. Estrutura de dados fundamental em Informática, tal como listas e árvores.
Grafos Introdução Grafos Introdução Fernando Lobo Algoritmos e Estrutura de Dados II Estrutura de dados fundamental em Informática, tal como listas e árvores. Há muitos algoritmos interessantes sobre grafos.
Leia maisAlgoritmos em Grafos
Algoritmos em Grafos Baseado em: The Algorithm Design Manual Steven S. Skiena IF64C Estruturas de Dados 2 Engenharia da Computação Prof. João Alberto Fabro - Slide 1/42 Introdução (1) Um grafo G=(V,E)
Leia maisAlgoritmos e Estruturas de Dados II IEC013
Algoritmos e Estruturas de Dados II IEC013 Revisão: Listas Encadeadas Prof. César Melo Todos os créditos reservados ao professor Leandro Galvão Listas Encadeadas Listas encadeadas ou listas ligadas representam
Leia maisÁrvores Binárias. SCC Algoritmos e Estruturas de Dados I. Prof. Fernando V. Paulovich
Árvores Binárias SCC0202 - Algoritmos e Estruturas de Dados I Prof. Fernando V. Paulovich *Baseado no material do Prof. Gustavo Batista. Figuras editadas por Isadora Maria Mendes http://www.icmc.usp.br/~paulovic
Leia maisDefinição 1.1 : Uma árvore é um grafo simples conexo e sem ciclos.
1 Árvores Definição 1.1 : Uma árvore é um grafo simples conexo e sem ciclos. Um grafo simples sem ciclos mas não conexo (em que cada componente conexa é portanto uma árvore) chama-se uma floresta. Numa
Leia maisAlgoritmos e Estruturas de Dados
Algoritmos e Estruturas de Dados Grafos Slides baseados em: ZIVIANI, N. Projetos de Algoritmos - com implementações em Java e C++. Thomson Learning, 2007. Cap 7. CORMEN, H.T.; LEISERSON, C.E.; RIVEST,
Leia maisÁ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
Leia maisGRAFOS BUSCAS E MENOR CAMINHO. Prof. André Backes
8//6 GRAFOS BUSCAS E MENOR CAMINHO Prof. André Backes Busca em grafos Definição Consiste em explorar o grafo de uma maneira bem específica. Trata-se de um processo sistemático de como caminhar por seus
Leia maisEdital 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
Leia maisEstrutura 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 Árvores (parte 2) Estruturas de Dados 2 Organização dos dados: Linear: Listas, pilhas, filas. Relação sequencial.
Leia maisListas - Outras. Listas Circulares Nós Cabeça Listas Duplamente Ligadas/Encadeadas Aplicações
Listas - Outras Listas Circulares Nós Cabeça Listas Duplamente Ligadas/Encadeadas Aplicações 5 e 7/10/2010 Listas Circulares Encadeadas Dinâmicas Se o nó next do último nó apontar para o primeiro, teremos
Leia maisUNIP - Ciência da Computação e Sistemas de Informação. Estrutura de Dados. AULA 8 Grafos. Estrutura de Dados 1
UNIP - Ciência da Computação e Sistemas de Informação Estrutura de Dados AULA 8 Grafos Estrutura de Dados 1 Grafos - Motivação Muitas aplicações em computação necessitam considerar conjunto de conexões
Leia maisListas Ligadas (Encadeadas) Listas Simplesmente Encadeadas
Listas Ligadas (Encadeadas) Matrizes são estruturas de dados muito úteis fornecidas nas linguagens de programação. No entanto, elas têm pelo menos duas limitações: 1- Seu tamanho tem que ser conhecido
Leia maisConceito Básicos da Teoria de Grafos
1 Conceito Básicos da Teoria de Grafos GRAFO Um grafo G(V,A) é definido pelo par de conjuntos V e A, onde: V - conjunto não vazio: os vértices ou nodos do grafo; A - conjunto de pares ordenados a=(v,w),
Leia mais