100% encontró este documento útil (1 voto)
101 vistas15 páginas

Introducción a los Grafos en Computación

Un grafo es una estructura de datos que consiste en nodos y aristas que conectan los nodos. Existen diferentes tipos de grafos como dirigidos y no dirigidos. Los grafos se pueden representar mediante matrices de adyacencia o listas de adyacencia. Algunos algoritmos como Dijkstra y Floyd-Warshall se utilizan para encontrar caminos mínimos en grafos.

Cargado por

MateoCaCe
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPT, PDF, TXT o lee en línea desde Scribd
100% encontró este documento útil (1 voto)
101 vistas15 páginas

Introducción a los Grafos en Computación

Un grafo es una estructura de datos que consiste en nodos y aristas que conectan los nodos. Existen diferentes tipos de grafos como dirigidos y no dirigidos. Los grafos se pueden representar mediante matrices de adyacencia o listas de adyacencia. Algunos algoritmos como Dijkstra y Floyd-Warshall se utilizan para encontrar caminos mínimos en grafos.

Cargado por

MateoCaCe
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPT, PDF, TXT o lee en línea desde Scribd

Presentado por:

Oscar Leonardo Ramírez


John Freddy Sandoval
Leidy Paola Vera
DEFINICIÓN DE GRAFOS
 Un grafo en el ámbito de las ciencias de la computación es
una estructura de datos, en concreto un tipo abstracto de
datos (TAD), que consiste en un conjunto de nodos
(también llamados vértices) y un conjunto de arcos
(aristas) que establecen relaciones entre los nodos.
 El concepto de grafo TAD desciende directamente del
concepto matemático de grafo. En este contexto árboles y
grafos se refiere a estructuras de datos que permiten
organizar y mantener información en un computador.
VERTICES
 Son los puntos o nodos
con los que esta
conformado un grafo.
 Llamaremos grado de un
vértice al número de
aristas de las que es
extremo. Se dice que un
vértice es `par' o `impar'
según lo sea su grado.
ARISTAS
 Son las líneas con las que
se unen las aristas de un
grafo y con la que se
construyen también
caminos.
TIPOS DE GRAFOS
 Dirigidos: Cada arco  No dirigidos: El par de
está representado por un vértices que representa
par ordenado de vértices. un arco no está
ordenado.
REPRESENTACIÓN DE GRAFOS
 Las representaciones de grafos más habituales están
basadas en matrices de adyacencia.
 Matriz de adyacencia
Se asocia cada fila y cada columna a cada nodo del
grafo, siendo los elementos de la matriz la relación
entre los mismos, tomando los valores de 1 si existe la
arista y 0 en caso contrario.
EJEMPLO
LISTAS DE ADYACENCIAS
 Se asocia a cada nodo del grafo una lista que contenga
todos aquellos nodos que sean adyacentes a él.
 Ejemplo:
RECORRIDOS DE GRAFOS
 Recorrer un grafo significa tratar de alcanzar todos los
nodos que estén relacionados con uno que llamaremos
nodo de salida. Existen básicamente dos técnicas para
recorrer un grafo: el recorrido en anchura y recorrido
en profundidad.
RECORRIDO EN ANCHURA

 Supone recorrer el grafo, a partir de un nodo dado, en


niveles, primero los que están a una distancia de un arco
del nodo de salida, después los que están a dos arcos de
distancia, y así sucesivamente hasta alcanzar todos los
nodos a los que se pudiese llegar desde el nodo salida.
 Este método comienza visitando el vértice de partida A,
para continuación visitar los adyacentes que no
estuvieron ya visitados. Así sucesivamente con los
adyacentes.
RECORRIDO EN PROFUNDIDAD

 Trata de buscar los caminos que parten desde el nodo de


salida hasta que ya no es posible avanzar más. Cuando ya
no puede avanzarse más sobre el camino elegido, se vuelve
atrás en busca de caminos alternativos.
EJEMPLOS DE GRAFOS
 En general es una teoría que se usa para solucionar o
buscar alternativas a diferentes problemas o para
visualizar el problema es su conjunto.

 Algoritmo de Dijkstra: También llamado algoritmo


de caminos mínimos. Este algoritmo construye el
árbol de caminos de longitud mínima entre un vértice
fijado V y los restantes vértices en un grafo ponderado.
1. Utilizar el algoritmo de Dijkstra para encontrar los
caminos más cortos que van desde el nodo a hasta los
restantes nodos, en el siguiente grafo dirigido partir del
resultado, encontrar cuál es el camino más corto desde a
hasta d.
2. Supongamos que unas líneas aéreas realizan vuelos
entre las ciudades conectadas por líneas la estructura de
datos que refleja esta relación recibe el nombre de grafo.
Algoritmo de Floyd-Warshall
 Es un algoritmo de análisis sobre grafos para encontrar
el camino mínimo en grafos dirigidos ponderados.
 Compara todos los posibles caminos a través del grafo
entre cada par de vértices. El algoritmo es capaz de
hacer esto con sólo V3 comparaciones (esto es notable
considerando que puede haber hasta V2 aristas en el
grafo, y que cada combinación de aristas se prueba). Lo
hace mejorando paulatinamente una estimación del
camino más corto entre dos vértices, hasta que se sabe
que la estimación es óptima.

También podría gustarte