La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Rappresentazione di grafi Liste di adiacenza Matrice di adiacenza Matrice di incidenza.

Presentazioni simili


Presentazione sul tema: "Rappresentazione di grafi Liste di adiacenza Matrice di adiacenza Matrice di incidenza."— Transcript della presentazione:

1 Rappresentazione di grafi Liste di adiacenza Matrice di adiacenza Matrice di incidenza

2 Rappresentazione di grafi Vi sono diversi modi per rappresentare un grafo G=(V,E): come una collezione di liste di incidenza o come una matrice di adiacenza o come una matrice di incidenza. Di solito si preferisce la rappresentazione con liste di adiacenza perché quando il grafo è sparso, |E| molto minore di |V| 2, fornisce una rappresentazione compatta del grafo. Se invece il grafo è denso, |E| è vicino a |V| 2, la matrice di adiacenza può essere preferita, perché è più rapido accedere allinformazione in essa contenuta. Per esempio sapere se due archi sono adiacenti.

3 Liste di adiacenza 3 2 5 6 1 4 1 nodo adiacente 1 2 3 4 5 6 Adj[1,…,6] next 4 3 1 1 2 5 6 5 2 3 3 4 6 --- Consiste in un vettore Adj di |V| liste, una per ogni vertice di V. Per ogni u in V, la lista di adiacenza Adj[u] comprende tutti i gli archi (u,v) in E, con v in V e adiacente a u. La quantità di memoria necessaria è O(max(|V|,|E|)) = O(|V|+|E|). Grafo non orientato

4 Liste di adiacenza 1 nodo adiacente 1 2 3 4 5 6 Adj[1,…,6] next 4 3 2 5 6 3 3 --- Se ci sono dei pesi sui vertici vengono memorizzati nel vettore Adj insieme al puntatore allinizio della lista di adiacenza. Se cè un peso w su un arco (u,v) viene memorizzato nel corrispettivo elemento della lista di adiacenza Adj[u]. 3 2 5 6 1 4 Grafo orientato

5 Matrice di adiacenza 3 2 5 6 1 4 Si assume che i vertici siano numerati 1, 2, …, |V| in modo arbitrario. La matrice di adiacenza consiste in una matrice A=(a ij ) di dimensione |V| x |V| tale che: Grafo non orientato 011001 101000 110100 001010 000101 100010 1 2 3 4 5 6 1 23456 A =

6 Matrice di adiacenza Nel caso di un grafo non orientato la matrice A risulta simmetrica, A=A T, ossia a ij = (a ij ) T = a ji. La matrice richiede memoria Θ(|V| 2 ). E possibile anche memorizzare il peso di ogni arco nella rispettiva cella a ij. 011000 001000 000000 001000 000101 100010 1 2 3 4 5 6 1 23456 3 2 5 6 1 4 Grafo orientato A =

7 Matrice di incidenza 00000+1 000000 0+1 0000 000+1000 0000 +10 00000 Si assume che i vertici siano numerati 1, 2, …, |V| in modo arbitrario. La matrice di adiacenza consiste in una matrice D=(d ij ) di dimensione |V| x |E| tale che: 1 2 3 4 5 6 1 23456 D = 3 2 5 6 1 4 Grafo orientato 1 2 3 4 5 6 7 8 78 La matrice richiede memoria Θ(|V|x|E|).


Scaricare ppt "Rappresentazione di grafi Liste di adiacenza Matrice di adiacenza Matrice di incidenza."

Presentazioni simili


Annunci Google