Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Estructuras de Datos
CCPG1006
DEFINICION
• Un grafo G = (V,A)
1 4
• V, el conjunto de vértices o nodos
– Representan los objetos 5
• A, el conjunto de arcos 7 9
V = {1, 4, 5, 7, 9}
A= {(1,4), (5,1), (7,9), (7,5), (4,9), (4,1), (1,5), (9,7), (5, 7), (9,4)}
TIPOS DE GRAFOS
1 4 C E
5
F
7 9 D H
V = {1, 4, 5, 7, 9}
V = {C, D, E, F, H}
A= {(1,4), (5,1), (7,9), (7,5), (4,9),
A= {(C,D), (D,F), (E,H), (H,E), (E,C)}
(4,1), (1,5), (9,7), (5, 7), (9,4)}
OTROS CONCEPTOS
• Arista
– Es un arco de un grafo no dirigido
9
• Vértices adyacentes Guayaquil Quito
7 8
– Vértices unidos por un arco
• Factor de Peso Ambato
Cuenca
5
– Valor que se puede asociar con un 7
arco
– Depende de lo que el grafo 5
represente Riobamba
– Si los arcos de un grafo tienen F.P.
• Grafo valorado
GRADOS DE UN NODO
C E
Ambato
5
Cuenca
7
Riobamba F
5
D H
Grado(Guayaquil) = 3
Gradoent(D) = 1 y Gradsal(D) = 1
CAMINOS
4 7
• Definición A B
10 C
– Un camino (path) P en un grafo G,
desde V0 a Vn: 11
D E F
– Es la secuencia de n+1 vértices 6 9
– Tal que (Vi, Vi+1) A para 0 i n Camino A yA4y7
entre
Longitud de camino P = {A, E, 9,
{4, 6, B, 7}
F, A}
El número de arcos que lo Longitud: 3
4
forman
Camino Simple
Ciclo
Camino simple cerrado de
Todos los nodos que lo
long. >= 2
forman son distintos
donde V0 = Vn
CONECTIVIDAD
5
3
Grafo No Dirigido
9
– Conexo
Existe un camino entre 2 7
cualquier par de nodos
A
Grafo Completo
B Existe un arco para cualquier par de
H
D vértices
Grafo Dirigido
4
Fuertemente Conexo
5 8 Existe un camino de ida y de regreso
6 entre cualquier par de nodos
TDA GRAFO
• Datos
– Vértices y
– Arcos( relación entre vértices)
• Operaciones
– void AgregarVertice(Vertice V)
Añadir un nuevo vértice
– void BorrarVertice(Vertice V)
Eliminar un vértice existente
– void Union(Vertice V1, Vertice V2)
Unir dos vértices (crear arco)
– Void BorrarArco(Vertice V1, Vertice V2)
Eliminar un Arco
– bool EsAdyacente(Vertice V1, Vertice V2)
Conocer si dos vértices son o no adyacentes
REPRESENTACION
V3
V0
• Dado un Grafo G = (V, A) 4 V4 7
10
• Sean los Vertices V = {V0, V1, … Vn}
V5
– Se pueden representar por 11
ordinales 0,1,..n V1 6 9 V2
• Como representar los Arcos?
V 0 V1 V 2 V 3 V 4 V 5
– Estos son enlaces entre vértices
V 0 0 1 0 0 0 0
• Puede usarse una matriz V 1 1 0 1 0 0 0
V 2 0 1 0 1 0 0
1, si hay arco (Vi,Vj )
V 3 0 0 1 0 0 0
aij
V 4 0 1
0, si no hay arco (Vi,Vj )
0 0 0 0
V 5 0 0 0 0 1 0
IMPLEMENTACION
Los Vértices
Se definen en un
Arreglo
Los Arcos
Se definen en una
Matriz
METODOS GRAFO-MATRIZ
METODOS GRAFO-MATRIZ
LISTA DE ADYACENCIA 4 7
10
11
Si una matriz tiene muchos vértices y pocos
arcos, la Matriz de Adyacencia: 6 9
Tendrá demasiados ceros
Ocupará mucho espacio
Los vértices 4 6
Pueden formar una lista 6 4 9
Los arcos
9 6 7
Son relaciones entre vértices
Se pueden representar con una lista x 7 9
cada vértice
10 11
11 10
IMPLEMENTACION
B
A D
H
C
T
R
RECORRIDO EN ANCHURA
B Se Muestra:
A D D B C H R A T
H
C
T
R
Cola
D
H
R
C
A
B
T H
R
C
A
T T
RECORRIDOS DEL GRAFO
B
A D
H
C
T
R
RECORRIDO EN PROFUNDIDAD
• Ejemplo D C R H T A B
Pila
B
A D
H
T
C H
R
C
A
T D
B
R