Escolar Documentos
Profissional Documentos
Cultura Documentos
Juan Vera
Castillo
UN POCO DE
HISTORIA
UN POCO DE
Los siete puentesHISTORIA
de Konigsberg
Cuenta una leyenda rusa, que un ciudadano de
Konigsberg (antes Prusia) se propuso dar un paseo
cruzando cada uno de los siete puentes que existen
sobre el ro Pregel una sola vez. Los dos brazos del ro
rodean a una isla llamada Kneiphof (lugar B).
Cmo debe cruzar los puentes para realizar el paseo?
UN POCO DE
HISTORIA
La idea de Euler fue
considerar los cuatro lugares
graf
o
Figura
Figura
vrtic
e
Ejemplos de grafos
:
Por ejemplo una molcula qumica puede
representarse como un grafo donde los vrtices son
los tomos que la componen y las aristas, los enlaces
entre estos tomos :
Ejemplos de grafos
:Otro caso puede ser la representacin de un mapa, por
ejemplo el mapa de Colombia, donde :
1.
2.
2.Problemas de Construccin
Determinar si un grafo dado es euleriano y
construir un camino euleriano (algoritmo de
Fleury).
3.Problemas de Enumeracin
Grafos no Dirigidos etiquetados.
Grafos Dirigidos (digrafos) etiquetados.
Arboles etiquetados.
4.Problemas de Optimizacin
Problema de encontrar el camino mnimo
entre dos vrtices en un dgrafo pesado.
Problema del viajante de comercio
.. Conjunto de
.. Conjunto de
GRAFO NO
DIRIGIDO
Adyacencia de vrtices
Se dice que un vrtice V1 es adyacente a otro vrtice
V2, si y solo si, existe un arco que une a V2 con V1.
En este ejemplo, el vrtice 1
es adyacente al vrtice 2.
Pero el vrtice 3 no es
adyacente al vrtice 4
GRAFO NO
DIRIGIDO
Conjunto de vrtices
Conjunto de arcos
GRAFO
DIRIGIDO
Es un grafo cuyos arcos poseen un sentido definido,
que indica explcitamente la adyacencia de un vrtice
con otro.
En este ejemplo, el vrtice 2
es adyacente al vrtice 1.
Pero el vrtice 1 no tiene
ningn vrtice adyacente.
GRAFO
DIRIGIDO
Conjunto de vrtices
Conjunto de arcos
REPRESENTACIONES DE
GRAFOS
Existen diversas formas de representar los grafos,
entre las que se pueden mencionar :
Matriz de adyacencia
Lista de adyacencia
Matriz de adyacencia
Un grafo se puede representar mediante una matriz
A[] tal que :
A[i,j] = 1
si hay un arco que conecta vi con vj
A[i,j] = 0
si no hay un arco que conecta vi
con
vj
Matriz de adyacencia
Grafo NO dirigido
Matriz de
adyacencia del
grafo
NO dirigido
Matriz de adyacencia
Grafo dirigido
Matriz de
adyacencia del
grafo dirigido
Ejercicio
Implemente una clase Grafo con la matriz de adyacencia
anteriormente estudiada, de tal manera que el siguiente
programa funcione :
Grafo g;
g.insertarVertice(); // vertice 1
g.insertarVertice(); // vertice 2
g.insertarVertice(); // vertice 3
g.insertarArco(1,3);
g.insertarArco(2,3);
g.insertarArco(3,1); // el arco ya existe, no debe hacerse nada
g.imprimirMatrizAdyacencia();