Representacion de Grafos en Memoria

Hay tres maneras de representar un grafo en un
programa:

 1.-Mediante Matrices
 2.-Mediante Listas
 3.-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.


Representación 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, sólo representaremos aquellos enlaces que existen en el grafo.