Saltar la navegación

3.3. Representación de grafos.

Representaciones básicas de Grafos

•          Para la representación de grafos se deben considerar:

- Representación del conjunto de nodos o vértices, V.

- Representación del conjunto de aristas, A.

graf

–         Ojo: las aristas son relaciones “muchos a muchos” entre nodos...

Representación del conjunto de aristas A para un grafo dirigido.

–         Mediante matriz de adyacencia.

2graf

–         Mediante listas de adyacencia.

Listas1

Matriz de adyacencia para un grafo no dirigido.

  • Sea M de tipo GrafoNoEtiq, G= (V, A).
  • M[v, w] = cierto ⇔ (v, w) ∈ A

ady1

Grafo no dirigido → Matriz simétrica: M[i, j] = M[j, i].

Resultado: se desperdicia la mitad de la memoria.

Ventajas y desventajas al utilizar Matrices de adyacencia.

Uso de memoria

•          k2 bytes/etiqueta

•          Memoria usada: k2n2

Ventajas

•          Representación y operaciones muy sencillas.

•          Eficiente para el acceso a una arista dada.

Inconvenientes

•          El número de nodos del grafo no puede cambiar.

•          Si hay muchos nodos y pocas aristas (a<<n2) se desperdicia mucha memoria.

Listas de adyacencia para un grafo no dirigido.

tipo Nodo= entero (1..n)

       tipo GrafoNoEtiq= array [1..n] de Lista[Nodo]

•          Sea R de tipo GrafoNoEtiq, G= (V, A).

•          La lista R[v] contiene los w tal que (v, w) ∈ A.

Lis2

Grafo no dirigido à Las aristas están repetidas.

Resultado: también se desperdicia memoria.

 

Ventajas y desventajas al utilizar Listas de adyacencia.

Uso de memoria

•          k1 bytes/puntero, k2 bytes/etiqueta o nodo

•          Memoria usada: k1(n+a) + 2k2a

•          Con matrices de adyacencia: k2n2

•          ¿Cuál usa menos memoria?

Ventajas

•          Más adecuada cuando a<<n2.

Inconvenientes

•          Representación más compleja.

•          Es ineficiente para encontrar las aristas que llegan a un nodo.

Ver el siguiente Link:

https://elibro.bibliotecabuap.elogim.com/es/ereader/bibliotecasbuap/50117?page=460