Você está na página 1de 2

Algoritmos e Estruturas de dados III Resenha 3

Algoritmos em grafos
Rodrigo Ot io Passos Ferreira - <rodrixl@gmail.com>

A cria o da teoria dos grafos foi motivada pela necessidade de muitas aplica es de considerar os conjuntos de conexs entre pares de objetos considerando quests como: a dist cia, caminhos, quantos objetos podem ser alcan dos a partir de um objeto dentre outras. A partir dessa necessidade criou-se uma estrutura chamada grafo para representa esses objetos. - Dentre as aplica es que podem utilizar grafos temos aplica es de busca na web, rotas dentre outros. * defini es: Grafo -> Conjunto de v tices e arestas. V tice -> Objeto simples com nome e outras propriedades. Aresta -> Conex entre dois v tices. Um grafo pode ser representado da forma G(V,A) sendo V os v tices e A as arestas. - Um grafo pode ser direcionado ou n , Grafos Direcionados - um grafo direcionado um grafo composto por v ios v tices e arestas com as seguintes caracter ticas: - uma aresta (u,v) sai do vertice u e entra no vertice v, o v tice v fica sendo adjacente ao v tice u. -Podem existir aresta para o proprio vertice (self-loops) (u,u). -Grau do vertice o numero de arestas que saem dele somado ao numero de arestas que entram nele. Grafos n direcionados - uma aresta (u,v) implica na aresta (v,u) s representadas como uma unica aresta. - N existem self-loops - grau do v tice: n ero de arestas que incidem nele, se n existir nenhuma aresta, chamado de v tice desconectado - Caminho entre v tices - >um caminho de comprimento k de um v tice x

ao v tice y uma sequ cia de v tices de V0 a Vk o comprimento o n ero de v tices que compoem o caminho. -caminho simples um caminho onde todos os v tices s diferentes. -circuito um caminho que come e termina no mesmo v tice. Componentes conectados - Dois v tices s considerados conectados quando existe um caminho entre eles, e fortemente conectados quando o s ligados diretamente. - Dois v tices s adjacentes quando s conectados diretamente. rvore livre -> grafo n direcionado e conectado ac lico. Floresta -> grafo n direcionado e conectado ou n , aciclico. Estruturas para armazenar um grafo - Matriz de adjac cia - > armazena um grafo colocando 0 ou 1 para indicar se dois v tices est ou n conectados, boa para armazenar grafos densos em que o numero de arestas proximo de V . -Lista de adjac cias -> armazena somente os arcos que existem no grafo. um vertor guarda em uma lista os as arestas que saem e outro as arestas que entram para cada v tice. Caminhamento no grafo -Busca em profundidade: Estrat ia de buscar o nmais fundo do grafo, ap visita-lo ir voltando e buscando em todos os n adjacentes de forma que no final, tervisitado todos os n uma ica vez. tem complexidade O(|V| + |A|). esse m odo util para verificar se um grafo aciclico. -Busca em largura: Expande a fronteira entre v tices descobertos e n descobertos uniformemente. a complexidade [e O(|V| + |A|) tamb . essa busca util para localizar o caminho mais curto entre dois v tices. Algoritmo de Dijkstra - > Produz uma vore de caminhos mais curtos de um v tice de origem s para todos os v tices alcan veis a partir de s. utiliza uma estrat ia gulosa de sempre escolher o v tice mais leve para colocar na solu o. Hipergrafos - um grafo n direcionado no qual cada aresta conecta r v tices, sendo r a ordem do grafo, s usados para funcoes de hashing perfeito.

Você também pode gostar