Beruflich Dokumente
Kultur Dokumente
Vrtices representam
cidades, pessoas, mquinas, nmeros, etc
Arestas representam
existncia de ligaes entre ns, valor da ligao entre ns, distncia entre ns, etc
AED (IST/DEEC)
Grafos - Motivao
Mapas
caminhos mais curtos; caminhos mais baratos.
Emparelhamento
processamento de imagem estreo; atribuio de pessoas a lugares.
Circuitos Elctricos
existncia de curto-circuitos; existncia de cruzamento entre ligaes.
Redes de dados
computadores ligados entre si, enviando e recebendo mensagens; existncia de ligao entre quaisquer ns; redundncia.
Sequenciamento
tarefas a executar por um conjunto de recursos sujeitas a restries de carcter tecnolgico.
Estrutura de Programas
grafos gerados por compiladores representando a estrutura de chamadas;
3
AED (IST/DEEC)
AED (IST/DEEC)
AED (IST/DEEC)
AED (IST/DEEC)
AED (IST/DEEC)
AED (IST/DEEC)
AED (IST/DEEC)
10
G um sub-grafo de G, gerado a partir das arestas a cheio. O vrtice 5 no pertence a G. G um grafo ligado; G no . O sub-grafo G constitudo por um grafo completo com trs vrtices e por uma rvore com quatro vrtices
11
AED (IST/DEEC)
Caminho: 1-2-4-5-7-8
AED (IST/DEEC)
12
Ciclo: 3-4-5-6-7-8-3
AED (IST/DEEC)
13
G: rvore de suporte de G.
AED (IST/DEEC)
14
AED (IST/DEEC)
15
AED (IST/DEEC)
16
AED (IST/DEEC)
17
AED (IST/DEEC)
19
AED (IST/DEEC)
20
AED (IST/DEEC)
21
o nmero final de vrtices, sem arestas. GraphinsertE insere uma aresta, caso no exista. GraphremoveE retira uma aresta, caso exista. Graphedges conta o nmero de arestas. Graphcopy cria uma segunda cpia do grafo. Graphdestroy faz o inverso de Graphinit.
22
AED (IST/DEEC)
Matriz (VV) de valores booleanos; A entrada correspondente linha v e coluna w 1 se existir uma aresta ligando estes dois vrtices; A mesma entrada vale 0 caso contrrio; A matriz simtrica, excepto para digrafos, em que poder no s-lo.
AED (IST/DEEC)
23
Matriz
Matriz V V simtrica
AED (IST/DEEC)
24
Matrizes de adjacncia
Representao de um grafo Implementao da estrutura abstracta de dados
AED (IST/DEEC)
27
AED (IST/DEEC)
28
Listas de Adjacncias
link NEW(int v, link next){ link x = malloc(sizeof(struct node)); x->v = v; x ->next = next; return x; }
AED (IST/DEEC) 30
AED (IST/DEEC)
32
Adio e remoo de arestas feita de forma eficiente; fcil evitar a existncia de arestas paralelas; fcil determinar se dois vrtices esto ou no ligados.
AED (IST/DEEC) 33
AED (IST/DEEC)
34
AED (IST/DEEC)
35
Remoo de arestas
pode levar um tempo proporcional a V (este problema pode ser contornado).
No aconselhvel para
grafos de grande dimenso que no podem ter arestas paralelas; grande utilizao de remoo de arestas.
AED (IST/DEEC)
36
AED (IST/DEEC)
37
Vector de arestas
Forma alternativa de representao de grafos.
AED (IST/DEEC)
38
AED (IST/DEEC)
39
AED (IST/DEEC)
40
AED (IST/DEEC)
42
Variantes e extenses
Grafos direccionados, ponderados e redes Outras representaes