Algoritmi e Strutture Dati Capitolo 11 Grafi e visite di grafi
Copyright © 2004 - The McGraw - Hill Companies, srl
Copyright © 2004 - The McGraw - Hill Companies, srl
Copyright © 2004 - The McGraw - Hill Companies, srl
Copyright © 2004 - The McGraw - Hill Companies, srl
per rappresentare grafi Strutture dati per rappresentare grafi Copyright © 2004 - The McGraw - Hill Companies, srl
Grafi non orientati Copyright © 2004 - The McGraw - Hill Companies, srl
Grafi orientati Copyright © 2004 - The McGraw - Hill Companies, srl
Prestazioni della lista di archi Copyright © 2004 - The McGraw - Hill Companies, srl
Prestazioni delle liste di adiacenza Copyright © 2004 - The McGraw - Hill Companies, srl
Prestazioni della matrice di adiacenza Copyright © 2004 - The McGraw - Hill Companies, srl
Prestazioni della matrice di incidenza Copyright © 2004 - The McGraw - Hill Companies, srl
Visite di grafi Copyright © 2004 - The McGraw - Hill Companies, srl
Scopo e tipi di visita Una visita (o attraversamento) di un grafo G permette di esaminare i nodi e/o gli archi di G in modo sistematico Problema di base in molte applicazioni Esistono vari tipi di visite con diverse proprietà: in particolare, visita in ampiezza (BFS=breadth first search) e visita in profondità (DFS=depth first search) Copyright © 2004 - The McGraw - Hill Companies, srl
Algoritmo di visita generica (grafo non orientato) Copyright © 2004 - The McGraw - Hill Companies, srl
Osservazioni Un vertice viene marcato quando viene incontrato per la prima volta: la marcatura può essere mantenuta tramite un vettore di bit di marcatura La visita genera un albero di copertura T della componente connessa del grafo contenente s L’insieme di vertici FT mantiene la frangia di T: vT-F: v è chiuso, tutti gli archi incidenti su v sono stati esaminati vF: v è aperto, esistono archi incidenti su v non ancora esaminati Copyright © 2004 - The McGraw - Hill Companies, srl
Costo della visita Il tempo di esecuzione dipende dalla struttura dati usata per rappresentare il grafo: Lista di archi: O(mn) Liste di adiacenza: O(m+n) Matrice di adiacenza: O(n2) Copyright © 2004 - The McGraw - Hill Companies, srl