Está en la página 1de 18

GRAFOS II

ESTRUCTURAS DE DATOS
UNIVERSIDAD DE CARTAGENA
GABRIEL ELÍAS CHANCHÍ G. PH.D.
DEFINICIÓN

• Se define un grafo como un conjunto de nodos (vértices) y un conjunto de arcos (aristas)


que permiten establecer relación entre los nodos.
• Las aristas pueden o no ser orientadas (ir de un nodo a otro o no tener dirección).
DEFINICIÓN

• Un grafo puede representarse matemáticamente como una pareja de conjuntos G=(V,A)


donde V es el conjunto de vértices y A es el conjunto de aristas.

• Para el ejemplo anterior V = { a, b, c, d, e, f }, y A = { ab, ac, ae, bc, bd, df, ef }.


OTRAS FORMAS DE REPRESENTACIÓN

• Matriz de adyacencias: Cada fila y columna están asociadas a los nodos del grafo.
Representa la conexión entre cada uno de ellos.
OTRAS FORMAS DE REPRESENTACIÓN

• Matriz de incidencia: Las columnas de la matriz representan las aristas del grafo, mientras
que las filas representan los nodos.
IMPLEMENTACIÓN GRAFOS

• Consideraciones
• Los vértices serán representados por la clase Nodo
• Contendrán la información asociada al nodo y un vector de aristas
• Las aristas tendrán un nodo origen, un nodo destino y un peso de la arista
• El grafo contendrá el conjunto de nodos.
IMPLEMENTACIÓN GRAFOS
CLASE NODO
CLASE ARISTA
CLASE GRAFO
CLASE PRINCIPAL
EJERCICIO

• Implementar el método para imprimir los nodos y aristas del grafo


SOLUCIÓN – CLASE GRAFO
SOLUCIÓN – CLASE GRAFO
ALGORITMO DE BÚSQUEDA EN PROFUNDIAD

• Es un algoritmo de búsqueda no informada usado para recorrer todos los nodos de un grafo de manera
ordenada. Su funcionamiento consiste en ir expandiendo cada uno de los nodos que va localizando, de
forma recurrente, en un camino concreto. Cuando ya no quedan más nodos que visitar en dicho
camino, regresa, de modo que repite el mismo proceso con cada uno de los hermanos del nodo ya
procesado.
EJEMPLO

• Crear un algoritmo para indicar si hay un camino entre el nodo A y el nodo B


SOLUCIÓN BÚSQUEDA EN PROFUNDIDAD
SOLUCIÓN BÚSQUEDA EN PROFUNDIDAD

También podría gustarte