Hola hoy les voy a compartir un código que hice sobre como representar un grafo y sus operaciones básicas
en el lenguaje c++ para esto use el método de representación en su forma lineal que usa una lista de adyacencia.
Aqui les daré una breve explicación y algunas nociones para entender el funcionamiento del programa
Un Poco de Teoría:
GrafoUn 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.
Informalmente se define como G = (V, E), siendo los elementos de V los vértices, y los elementos de E, las aristas (edges en inglés). Formalmente, un grafo, G, se define como un par ordenado, G = (V, E), donde V es un conjunto finito y E es un conjunto que consta de dos elementos de V.Los grafos se pueden clasificar en dos grupos:Dirigidos y no Dirigidos.En un grafo dirigido cada arco está representado por un par ordenado de vértices, de forma que representan dos arcos diferentes.En un grafo no dirigido el par de vértices que representa un arco no está ordenadoFormas de RepresentaciónExisten diferentes implementaciones del tipo grafo: con una matriz
de adyacencias (forma acotada) y con listas y multilistas de adyacencia (no acotadas).
- Matriz de adyacencias: 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.
- Lista de adyacencias: se asocia a cada nodo del grafo una lista que
- contenga todos aquellos nodos que sean adyacentes a él.
Insertar un nodo(vertice)
Insertar una arista
Eliminar un nodo
Eliminar una arista
Mostrar el grafo
Mostrar aristas de un nodo(vertice)
A lo mejor falten algunas operaciones básicas las cuales yo ire agregando pero por ahora les muestro el programa
solo con las operaciones mencionadas.
Implementacion en C++:
Espero que te sirva saludos.
SOCIALIZA ESTO →