2. DISTINTOS TIPOS DE GRAFOS
CAMINOS EULERIANOS Y
HAMILTONIANOS
ARBOLES Y BOSQUES
ALGORITMOS DE PRIM Y DE KRUSKAL
3. GRAFOS ISOMORFOS
Dos grafos G1 = (V1,A1) y G2 = (V2,A2)
son ISOMORFOS, si existe una
función biyectiva f: V1 V2 tal que:
u,v V1/{u,v} A1: {f(u),f(v)} A2
4. GRAFOS ISOMORFOS
Si G1 y G2 son ISOMORFOS, se
cumple:
1. Tienen el mismo nº de lados.
2. Tienen el mismo nº de vértices.
3. Los conjuntos de grados son
iguales
5. GRAFOS ISOMORFOS
4. Ambos son conexos o ambos no
lo son.
5. Tienen el mismo nº de circuitos
de longitud n.
6. Ambos tienen o ambos no tienen
circuitos de Euler.
6. GRAFOS PONDERADOS
Un grafo se llama PONDERADO o
ETIQUETADO si a sus lados se les
asigna un número entero no negativo
que se denomina PESO.
Ejemplo: Conexión de líneas eléctricas
entre ciudades, donde los pesos
representan el costo o longitud de
dicha línea.
8. PROBLEMA
¿Cuántos números pares de 3 cifras
distintas se pueden formar con los
dígitos 1, 2, 3 y 5?
Para que sea par, la cifra de las
unidades debe ser 2. Entonces:
10. ARBOLES
ARBOL es un grafo conexo que no
contiene ciclos, lazos ni lados
paralelos.
Un conjunto de árboles se llama
BOSQUE.
11. ELEMENTOS DE UN ARBOL
Los vértices de un árbol se llaman
NODOS. Sus lados, en cambio, se
llaman RAMAS. Un árbol está
compuesto por niveles. Y el más alto
en jerarquía se llama RAIZ. La raíz
tiene nivel 0, los vértices adyacentes a
ella nivel 1, y así sucesivamente.
La ALTURA de un árbol es el valor de
su nivel más bajo.
12. ELEMENTOS DE UN
ARBOL
Salvo la raíz, todo nodo está
vinculado a otro de mayor nivel que
recibe el nombre de PADRE. Todo
nodo puede ser adyacente a uno o
más nodos de un nivel más bajo.
Estos se llaman HIJOS. Ningún hijo
puede tener más de un padre.
13. ELEMENTOS DE UN
ARBOL
Los nodos que no tienen hijos, se llaman
HOJAS. Los que no son hojas, se llaman
NODOS INTERNOS.
Dado un nodo, todos los que pertenecen a
un nivel inferior son sus DESCENDIENTES.
Los elementos pertenecientes a una misma
línea de descendencia respecto a un nodo,
se llaman ANTECESORES.
14. EJEMPLO
2 es la raíz.
La altura es 2.
1,3,5 son
hojas.
5 es el padre
de 1 y 3.
2 y 5 son
antecesores
de 1 y 3.
3 5 5
1 1 3
1
5
2
3
NIVEL 0
NIVEL 1
NIVEL 2
15. CLASES DE
ARBOLES
ARBOL n – ARIO es aquel en el cual
cada nodo tiene, como máximo, n
ramas.
Los más usados son los BINARIOS. En
este caso, cada nodo puede tener 2, 1
o ninguna rama, pero no más de 2.
16. CLASES DE
ARBOLES
ARBOL BINARIO COMPLETO es
aquel en que cada nodo tiene 2
ramas o ninguna. Un árbol binario
completo de k nodos internos, tiene
k + 1 hojas y 2k + 1 vértices en total.
17. CLASES DE
ARBOLES
Un árbol de altura h es
BALANCEADO si el nivel de
cualquier hoja es h - 1 hojas o h.
En caso contrario, es
DESBALANCEADO.
18. OBTENCION DE ARBOLES
GENERADORES
BUSQUEDA EN PROFUNDIDAD (DFS del inglés Depth First
Search): Sea G un grafo.
1.Se elige un vértice de G y se construye un camino, sin
aristas repetidas, que partiendo del vértice elegido tenga la
mayor longitud posible.
2. Se retrocede al primer vértice de la última arista del
camino anterior y se construye otro camino sin repetir
aristas, de la mayor longitud posible y sin volver a pasar por
los vértices ya visitados en el primer camino construido.
Se itera el proceso hasta visitar todos los vértices de G.
El grafo resultante es el árbol generado buscado. La
solución no es única
19. OBTENCION DE ARBOLES
GENERADORES
BUSQUEDA LO ANCHO (BFS del inglés Breadth First Search):
Sea G un grafo.
1.Se elige un vértice de G como raíz y se visitan todos sus
vértices adyacente.
2. Se elige uno de los vértices visitados para reiterar el
proceso. Dicha elección se hace siguiendo un orden
lexicográfico (orden alfabético, de los números naturales,
etc.)
Se itera el proceso hasta visitar todos los vértices de G.
El grafo resultante es el árbol generado buscado. La
solución no es única.
20. ARBOLES
GENERADORES
Dado G = (V,A) un grafo ponderado y
conexo, puede hallarse un:
ARBOL GENERADOR MINIMO: es el árbol
generado del grafo ponderado tal que la
suma de sus lados sea mínima.
ARBOL GENERADOR MAXIMO: es el árbol
generado del grafo ponderado tal que la
suma de sus lados sea máxima.
21. ALGORITMO DE PRIM
Dado G = (V,A) un grafo ponderado y conexo de
n vértices, puede hallarse un árbol generador
mínimo haciendo:
1. Se elige vkV. Haciendo Tj = {vk} y Vj = V – Tj,
con j {1, 2, …, n}
2. Se considera la arista {vi,vp}, de peso
mínimo, tal que une un vértice de Tj con otro de
Vj . Luego: T = Tj {vi,vp} y V’ = Vj - T.
3. Si el V’ = , el algoritmo termina. Si no, se
itera desde el paso 2, haciendo Vj = V’ y T = Tj
22. EJEMPLO
1
1
2
2
2
3
6
6
7
4
3
5
10
A
C
B
D E
F
G
H
1. Elegimos A como raíz.
Entonces: T1 = {A} y V’ = V - T1 ={B,C,D,E,F,G,H}.
2. Elegimos la arista a = {A,D}, pues p(a) = 1 y A T1 D T1.
Hacemos : T = T1{A,D} = {A,D} y V´= V – T = {B,C,E,F,G,H}.
3. Como V’, elegimos b = {D,B}, pues p(b) = 1 y D T B T.
Luego: T = {A,D,B} y V’ = {C,E,F,G,H}.
4. Como V’, elegimos c = {C,B}, pues p(c) = 2 y B T C T.
Entonces: T = {A,D,B,C} y V’ = {E,F,G,H}.
5. Como V’, elegimos d = {G,B}, pues p(d) = 3 y B T G T.
Entonces: T = {A,D,B,C,G} y V’ = {E,F,H}.
1º
2º
3º
4º
23. EJEMPLO
1
1
2
2
2
3
6
6
7
4
3
5
10
A
C
B
D E
F
G
H
6. Como V’, elegimos e = {H,G}, pues p(e) = 2 y G T H T.
Entonces: T = {A,D,B,C,G,H} y V’ = {E,F}.
7. Como V’, elegimos f = {H,E}, pues p(f) = 3 y H T E T.
Entonces: T = {A,D,B,C,G,H,E} y V’ = {F}.
8. Como V’, elegimos g = {E,F}, pues p(g) = 2 y E T F T.
Entonces: T = {A,D,B,C,G,H,E,F} y V’ = .
Luego, el algoritmo ha finalizado y el árbol generador mínimo es de
longitud 14. Gráficamente es:
1º
2º
3º
4º
5º
6º 7º
25. ALGORITMO DE KRUSKAL
Dado G = (V,A) un grafo ponderado y conexo de n vértices,
puede hallarse un árbol generador mínimo haciendo:
1. Se ordenan los pesos de las aristas de G, de menor a
mayor.
2. Se elige la arista de peso mínimo y se van añadiendo
los lados restantes, siguiendo el orden hallado en 1 y
cuidando que la conexión de una nueva arista no genere
un ciclo, en cuyo caso no debe añadírsela.
3. Se repite 2 hasta que el árbol obtenido tenga n – 1
aristas.