Rappresentazione di grafi

Slides:



Advertisements
Presentazioni simili
Flusso Massimo Applicazione di algoritmi
Advertisements

Depth-first search Visita in profondità di un grafo Algoritmo Esempio
08 Febbraio 2008 BOZZA Laboratorio di ricerca operativa I grafi e il problema del cammino minimo a.a. 2007/2008 Calogero Vetro.
Master Bioinformatica 2002: Grafi Problema: cammini minimi da tutti i vertici a tutti i vertici Dato un grafo pesato G =(V,E,w), trovare un cammino minimo.
Introduzione ai grafi Grafo diretto e non diretto
Estendere i linguaggi: i tipi di dato astratti
6. Catene di Markov a tempo continuo (CMTC)
Introduzione Cosa sono le reti di Petri?
Grafi Algoritmi e Strutture Dati. Camil Demetrescu, Irene Finocchi, Giuseppe F. Italiano Algoritmi e strutture dati 2/ed 2 Copyright © The McGraw.
Algoritmi e Strutture Dati
Cammini minimi con una sorgente
Breath-first search Visita in ampiezza di un grafo Algoritmo Esempio
Strutture dati elementari
Algoritmi in C++ (1) da completare
Depth-first search Visita in profondità di un grafo Algoritmo Esempio
Breath-first search Visita in ampiezza di un grafo Algoritmo Esempio
6. Catene di Markov a tempo continuo (CMTC)
Capitolo 3 Strutture dati elementari Algoritmi e Strutture Dati.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl 1 Strutture dati per.
Algoritmi e Strutture Dati
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Capitolo 12 Minimo albero ricoprente: Algoritmi di Prim e di Borůvka Algoritmi.
Esercizi su alberi binari
Algoritmi Paralleli e Distribuiti a.a. 2008/09 Lezione del 05/05/2009 Prof. ssa ROSSELLA PETRESCHI a cura del Dott. SAVERIO CAMINITI.
U V U V (a) |cfc|=2 prima e dopo (b) |cfc|=2 prima e |cfc|=1 dopo
Capitolo 13 Cammini minimi: Algoritmo di Floyd e Warshall Algoritmi e Strutture Dati.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Capitolo 12 Minimo albero ricoprente: Algoritmi di Prim e di Borůvka Algoritmi.
Capitolo 11 Grafi e visite di grafi Algoritmi e Strutture Dati.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Capitolo 12 Minimo albero ricoprente: Algoritmi di Prim e di Boruvka Algoritmi.
Algoritmi e Strutture Dati
Visite di grafi Algoritmi e Strutture Dati. Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Capitolo 12 Minimo albero ricoprente: Algoritmi di Prim e di Borůvka Algoritmi.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl 1 Un albero è un grafo.
Capitolo 11 Grafi e visite di grafi Algoritmi e Strutture Dati.
Capitolo 11 Grafi e visite di grafi Algoritmi e Strutture Dati.
Flusso Massimo Applicazione di algoritmi
Flusso Massimo Applicazione Algoritmi Esercizio 1 Sia dato la seguente rete di flusso, in cui la sorgente è il nodo 1 e la destinazione è il nodo 6. I.
Algoritmi e Strutture Dati (Mod. B)
Grafi.
Algoritmi greedy Gli algoritmi greedy in genere non sono esatti, cioè determinano soluzioni non necessariamente ottime Per il problema dell’albero ricoprente.
Fondamenti di Informatica
Fibonacci Heaps e il loro utilizzo nell’algoritmo di Prim
Lezioni di Ricerca Operativa Corso di Laurea in Informatica
Prof. Cerulli – Dott.ssa Gentili
Algoritmi e Strutture Dati
Algoritmi e Strutture Dati
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl 1 K 4 è planare? Sì!
Cammini minimi tra tutte le coppie
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Capitolo 12 Minimo albero ricoprente: Algoritmi di Prim e di Borůvka Algoritmi.
Algoritmi Paralleli e Distribuiti a.a. 2008/09 Lezione del 08/05/2009 Prof. ssa ROSSELLA PETRESCHI a cura del Dott. SAVERIO CAMINITI.
Lezione n° 18: Maggio Problema del trasporto: formulazione matematica Anno accademico 2008/2009 Prof. Cerulli – Dott.ssa Gentili Lezioni di.
Web Communities and their identificaton
Grafi Rappresentazione mediante liste di adiacenza:
Cammini minimi da un sorgente
Grafi CORDA – Informatica A. Ferrari Testi da Marco Bernardo Edoardo Bontà Dispense del Corso di Algoritmi e Strutture Dati.
Master Bioinformatica 2002: Grafi
Olimpiadi di Informatica 2010 Giornate preparatorie
Claudio Arbib Università dell’Aquila Ricerca Operativa Metodo del simplesso per problemi di distribuzione single-commodity.
Flusso Massimo Applicazione di algoritmi
Capitolo 11 Visite di grafi Algoritmi e Strutture Dati.
Prof. Cerulli – Dott. Carrabs
Grafi: rappresentazione e visita
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Capitolo 12 Minimo albero ricoprente: Algoritmo di Prim Algoritmi e Strutture.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Capitolo 12 Minimo albero ricoprente: Algoritmo di Prim Algoritmi e Strutture.
LA SOCIAL NETWORK ANALYSIS
Capitolo 11 Grafi e visite di grafi Algoritmi e Strutture Dati Camil Demetrescu, Irene Finocchi, Giuseppe F. Italiano.
Lezioni di Ricerca Operativa Corso di Laurea in Informatica
10/5/061 Lez. 12 Previsioni di traffico Generalità Previsioni di scenario.
Algoritmi Avanzati a.a.2013/2014 Prof.ssa Rossella Petreschi Albero ricoprente di costo minimo Lezione n°12.
Algoritmi Avanzati a.a.2014/2015 Prof.ssa Rossella Petreschi Lezione n°10.
Algoritmi Avanzati a.a.2012/2013 Prof.ssa Rossella Petreschi Albero Ricoprente Lezione n°9.
Transcript della presentazione:

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

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 all’informazione in essa contenuta. Per esempio sapere se due archi sono adiacenti.

Liste di adiacenza 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|). nodo adiacente next Grafo non orientato Adj[1,…,6] 1 2 1 2 3 6 --- 2 1 3 --- 3 3 1 2 4 --- 6 4 3 5 --- 5 4 6 --- 4 5 6 1 5 ---

Liste di adiacenza Se ci sono dei pesi sui vertici vengono memorizzati nel vettore Adj insieme al puntatore all’inizio 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]. nodo adiacente next Grafo orientato Adj[1,…,6] 1 2 1 2 3 --- 2 3 --- 3 3 --- 6 4 3 --- 5 4 6 --- 4 5 6 1 5 ---

Matrice di adiacenza Si assume che i vertici siano numerati 1, 2, …, |V| in modo arbitrario. La matrice di adiacenza consiste in una matrice A=(aij) di dimensione |V| x |V| tale che: 1 2 3 4 5 6 Grafo non orientato 1 1 1 2 2 A = 3 3 6 4 4 5 5 6

Matrice di adiacenza Nel caso di un grafo non orientato la matrice A risulta simmetrica, A=AT, ossia aij = (aij)T = aji. La matrice richiede memoria Θ(|V|2). E’ possibile anche memorizzare il peso di ogni arco nella rispettiva cella aij. 1 2 3 4 5 6 Grafo orientato 1 1 1 2 2 A = 3 3 6 4 4 5 5 6

Matrice di incidenza Si assume che i vertici siano numerati 1, 2, …, |V| in modo arbitrario. La matrice di adiacenza consiste in una matrice D=(dij) di dimensione |V| x |E| tale che: La matrice richiede memoria Θ(|V|x|E|). 1 2 3 4 5 6 7 8 -1 +1 Grafo orientato 1 2 1 8 1 2 D = 3 3 2 3 4 7 6 5 4 4 5 6 5 6