Conceitos Básicos da Teoria de Grafos Universidade Federal do Pampa - UNIPAMPA Engenharia da Computação Estrutura de Dados Profª Sandra Piovesan
Grafos Uma noção simples, abstrata e intuitiva. Representa a idéia de alguma espécie de relação entre objetos. Graficamente representado por uma figura: com nós ou vértices, significando os objetos. unidos por um traço denominado aresta, configurando uma relação.
Representação Matemática Um Grafo é representado matematicamente por: G=(V,A) V - conjunto não vazio: os vértices ou nodos do grafo; A - conjunto de pares ordenados a={v,w}, v e w Є V: as arestas do grafo. O grafo G(V,A) dado por: V = { p p é uma pessoa } A = { (v,w) < v é amigo de w > } V = { Maria, Pedro, Joana, Luiz } A = { {Maria, Pedro}, {Joana, Maria}, {Pedro, Luiz}, {Joana, Pedro} }
Dígrafo Grafo Orientado G(V, A) definido por: V = { p p é uma pessoa da família Silva } A = { (v,w) < v é pai/mãe de w > } V = { Emerson, Isadora, Renata, Antonio, Rosane, Cecília, Alfredo } A = {{Isadora, Emerson}, {Antonio, Renata}, {Alfredo, Emerson}, {Cecília, Antonio}, {Alfredo, Antonio}} Arcos arestas direcionadas
Ordem de um Grafo Número de vértices de G. ordem(g) = 4 ordem(g2) = 6 G2 G
Adjacência Grafo simples dois vértices v e w são adjacentes (ou vizinhos) se há uma aresta a=(v,w) em G. está aresta é dita ser incidente a ambos, v e w. Grafo orientado a adjacência (vizinhança) é especializada em: Sucessor: um vértice w é sucessor de v se há um arco que parte de v e chega em w. Antecessor: um vértice v é antecessor de w se há um arco que parte de v e chega em w.
Grau O grau de um vértice é dado pelo número de arestas que lhe são incidentes. grau(pedro) = 3 grau(maria) = 2 G Grau de emissão: número de arcos que partem de um vértice v. Grau de recepção: número de arcos que chegam a v. graudeemissão(antonio) = grau De Recepção (Antonio) = 2 G2
Laço Um laço é uma aresta onde ambas as extremidades são iguais, isto é, que parte e chega ao mesmo vértice. Duas arestas a = {u, v } e a2 = {u, v } são ditas paralelas se u = u e v = v. Um grafo é dito ser simples se não tem laços nem arestas paralelas. Multi-grafo: sem laços, mas eventualmente com arestas paralelas.
Grafos GRAFO REGULAR : quando todos os seus vértices tem o mesmo grau K. GRAFO COMPLETO : quando há todas as aresta possíveis. Estes grafos são designados por Kn, onde n é a ordem do grafo. Ele também é regular (n-) pois todos os seus vértices tem grau n-.
Grafos GRAFO BIPARTIDO quando seu conjunto de vértices V puder ser particionado em dois subconjuntos V e V2, tais que toda aresta de G une um vértice de V a outro de V2. GRAFO BIPARTIDO COMPLETO pois todos os vértices de uma partição estão ligados a todos os vértices da outra partição.
GRAFO PLANAR forma de se dispor seus vértices de um grafo em um plano de tal modo que nenhum par de arestas se cruze. REDE é um grafo dirigido (orientado) sem circuitos que possui dois vértices especiais: vértice fonte (todos os demais são atingidos), e vértice sorvedouro (não parte nenhuma aresta).
Grafos GRAFO ROTULADO quando a cada vértice (ou aresta) estiver associado um rótulo. GRAFO VALORADO quando existe uma ou mais funções entre V e/ou A com um conjunto de números. V = {v v é uma cidade com aeroporto} A = {(v,w,t) <linha aérea ligando v a w, sendo t o tempo esperado de voo>}
GRAFO CONEXO quando há pelo menos uma cadeia ligando cada par de vértices de um grafo G(V,A). G G2 GRAFO DESCONEXO se há pelo menos um par de vértices que não está ligado por uma cadeia.
GRAFO FORTEMENTE CONEXO para quaisquer dois vértices distintos u e v, existe um caminho ligando u e v. VÉRTICE DE CORTE se sua remoção (juntamente com as arestas a ele conectadas) provoca um redução na conexidade do grafo. PONTE remoção de uma aresta provoca um redução na conexidade do grafo.
Árvore: grafo conexo sem circuitos. Um caminho é uma árvore. Floresta: grafo cujas componentes conexas são árvores.
Representação de Grafos Formas de representação e matrizes associadas a um grafo Matriz de incidência vértice-arco: Uma linha para cada vértice Uma coluna para cada aresta G ( V, A) V n A m a ij =+ (i, j ) A a ji = - (i, j ) A a ij = (i, j ) A 2 4 a a 5 a 4 a 3 a 2 3 A m n
Representação de Grafos Formas de representação e matrizes associadas a um grafo Matriz de adjacência: Uma linha para cada vértice Uma coluna para cada vértice a ij = (i, j ) A a ij = (i, j ) A 2 4 a 2 a 24 a 3 a 34 3 a 23 A n n
Lista de nós: Representação de Grafos Formas de representação por listas de adjacências Cada nó aponta para a lista de seus sucessores (ou nós adjacentes) 2 n nós m arestas n +m posições 4 3 nós sucessores nós predecessores 2 3 2 3 4 2 3 4 3 2 4 4 2 3
Representação de Grafos
Representação de Grafos
Representação de Grafos
Exercícios Desenhar o grafo representado pela matriz de adjacência abaixo: A Representar sua matriz de incidência.
Exercícios Representar o mesmo grafo por sua lista de adjacências. Desenvolva um algoritmo para converter a representação de um grafo orientado sob forma de matriz de incidência em uma representação por listas de adjacência.
Bibliografia Cormen, T.H.; Leiserson, C.E.; Rivest, R.L.; Stein, C. Algoritmos teoria e prática. Rio de Janeiro: Campus, 22. http://www.dimap.ufrn.br/~dario/arquivos/cap2_grafos- 2.pdf http://www.inf.ufsc.br/grafos/definicoes/definicao.html