grafos ensayo.docx

5
Universidad Politécnica de Durango David Alejandro Zamora Elizalde GRAFOS Programación y Estructura de Datos

Transcript of grafos ensayo.docx

Page 1: grafos ensayo.docx

David Alejandro Zamora Elizalde

Grafos

Page 2: grafos ensayo.docx

Introducción

Esta es una pequeña investigación de los grafos en estructura de datos que representan estructuras no lineales. Los grafos son representados como un conjunto de nodos y un conjunto de arcos y así se logra establecer un vínculo entre todos los nodos que tenemos.

Para tratar de entender bien este tema serán explicados algunos de los conceptos más importantes sobre este contenido.

Page 3: grafos ensayo.docx

¿Qué es un grafo?

Es una estructura no lineal que está divida en nodos y cualquier nodo pueden apuntar a otros nodos y a este también lo pueden estar apuntando incluso el mismo se puede estar apuntando. Un grafo está compuesto por un conjunto de vértices (que también son llamados nodos) y un conjunto de aristas (también llamados arcos).

Tipos de grafos

Existen varios tipos de grafos:

Grafo no dirigido: Donde los arcos no tienen un orden.

Grafo dirigido: En donde cada arista tiene una dirección que seguir.

Grafo conectado: En donde existe un camino (se define como la secuencia de nodos por la que hay que pasar para llegar de un nodo a otro) por el cual están conectados los nodos.

Grafo desconectado: En este tipo de grafo existen nodos que no están conectados.

Grafo sencillo: En este nodo no existen bucles (aristas cuyos lados son idénticos) ni aristas múltiples (que son dos o más aristas que conectan a los mismos nodos).

Grafo múltiple: En este al contrario del sencillo si permite el uso de bucles y aristas múltiples.

Grafo completo: Aquí cada nodo está conectado a todos los demás.

Representación de grafos

Existen dos maneras de representar los grafos las cuales son:

Matriz adyacente: Aquí la matriz se mostrara con un tamaño de N*N, donde N va a equivaler a el número de nodos del grafo. Esta representación se muestra como una tabla en donde se asocian las filas y las columnas a cada nodo de nuestro grafo, para indicar si existe relación entre cada nodo se tomaran los valores de 1 si existe la arista y el 0 en caso contrario.

Memoria dinámica: Aquí se utilizan dos listas enlazadas las cuales serían:

Lista de nodos: que va a estar formada por todos los vértices.

Lista de adyacentes: que va a contener todas las aristas del grafo.

Page 4: grafos ensayo.docx

Operaciones básicas

Búsqueda de un nodo: En esta operación como su nombre lo indica es una búsqueda donde se va a localizar un nodo que va a contener determinada información. Para esto si se logra encontrar el nodo indicado nos mostrara la posición en donde se encuentra y si no es así nos devolverá un NULL.

Búsqueda de una arista: aquí se busca una arista dados sus campos de información, origen y destino. Aquí se devuelve un puntero a la lista de aristas que apunta a la arista que estamos buscado o devuelve un NULL en caso de no haberla encontrado.

Inserción de un nodo: se busca el punto en donde queremos insertar nuestro nuevo nodo, después se renuevan los puntos que van a salir del nodo nuevo y también los puntos que lo van a apuntar.

Inserción de una arista: Para empezar esta operación primero tenemos que comprobar que los nodos de origen y destino existan, después se comprueba que no exista un arista igual y para finalizar se hace la inserción.

Borrado de un nodo: Para lograr eso se borra el nodo elegido y también se tienen que borrar las aristas que lo estaban apuntando y las que salían de este.

Conclusión

Los grafos son estructuras de datos no lineales, los cuales están conformados por nodos. Son estructuras que están formados por un conjunto de vértices y de aristas.

Para representarlos tenemos la matriz que nos mostraría una tabla en la cual nos mostrara los valores correspondientes a si están conectados o no cada uno de nuestros nodos. Y también está la lista adyacente la cual son dos listas que contendrán todas las aristas y los vértices de nuestro grafo.

Se pueden hacer varias operaciones en los grafos dependiendo del requerimiento del usuario ya sea búsqueda tanto de nodos como de aristas o la inserción de uno de estos.