Hay
tres maneras de representar un grafo en un programa: mediante matrices, mediante listas y mediante matrices
dispersas.
Representación
mediante matrices:La forma más fácil de guardar la información de los nodos es mediante la
utilización de un vector que indexe los nodos, de manera que los arcos entre
los nodos se pueden ver como relaciones entre los índices. Esta relación entre
índices se puede guardar en una matriz, que llamaremos de adyacencia.
Representación
mediante listas: En las listas de adyacencia lo que
haremos será guardar por cada nodo, además de la información que pueda contener
el propio nodo, una lista dinámica con los nodos a los que se puede
acceder desde él. La información de los nodos se puede guardar en un vector, al
igual que antes, o en otra lista dinámica.
mediante matrices
dispersas: Para evitar uno de los problemas que teníamos con las listas de adyacencia,
que era la dificultad de obtener las relaciones inversas, podemos utilizar las
matrices dispersas, que contienen tanta información como las matrices de
adyacencia, pero, en principio, no ocupan tanta memoria como las matrices, ya
que al igual que en las listas de adyacencia.
Estructura
de lista
·
lista de incidencia -
Las aristas son representadas con un vector de
pares (ordenados, si el grafo es dirigido), donde cada par representa una de
las aristas.5
·
lista de adyacencia - Cada vértice tiene
una lista de vértices los cuales son adyacentes a él. Esto causa redundancia en
un grafo no dirigido (ya que A existe en la lista de adyacencia de B y
viceversa), pero las búsquedas son más rápidas, al costo de almacenamiento
extra.
·
lista de grados - También
llamada secuencia de grados o sucesión gráfica de un grafo
no-dirigido es una secuencia de números, que corresponde a los grados de los
vértices del grafo.
Estructuras
matriciales
·
Matriz de adyacencia - El grafo está
representado por una matriz cuadrada M de tamaño N^2, donde N es el número de
vértices. Si hay una arista entre un vértice x y un vértice y, entonces el
elemento MXy es 1, de lo
contrario, es 0.
·
Matriz de incidencia - El grafo está
representado por una matriz de A (aristas) por V (vértices),
donde [vértice, arista] contiene la información de la arista (1 - conectado, 0
- no conectado)

No hay comentarios:
Publicar un comentario