Introduzione ai Grafi di LEDA
|
|
- Antonella Zani
- 5 anni fa
- Visualizzazioni
Transcript
1 Introduzione ai Grafi di LEDA I Grafi di LEDA La libreria LEDA ha quattro tipi di grafi Diretti (graph) Non diretti (ugraph) Diretti parametrizzati (GRAPH<K, I> ) Non diretti parametrizzati (UGRAPH<K,I> ) Le strutture dati sono organizzate come una gerarchia di classi La classe base è graph Una funzione con parametro input di tipo graph accetta qualunque tipo di grafo (diretto e non diretto) /02 1
2 Grafi diretti Un grafo diretto è implementato come una coppia di multiliste ordinate (nodi e archi) I nodi e gli archi sono identificati internamente con degli interi attraverso un meccanismo di hashing Ogni arco diretto ha una source ed un target Ogni nodo ha due liste di nodi associati adj_edges e in_edges Per ogni grafo è possibile iterare su Tutti i nodi (forall_nodes) Tutti gli archi (forall_edges) Tutti gli archi uscenti da un nodo (forall_adj_edges) Tutti gli archi entranti in un nodo (for_all_in_edges) Tutti gli archi incidenti in un nodo (forall_inout_edges) 2 Grafi non diretti In un grafo non diretto ogni arco non ha direzione Un arco è una coppia non ordinata di nodi Ad ogni nodo è associata solo la llista di archi adj_edges LEDA rappresenta i grafi non diretti come grafi diretti in cui la direzione degli archi è ignorata La classe ugraph è derivata da graph I metodi source() e target() della classe edge sono disabilitati Dato un estremo di un arco è possibile calcolare l altro estremo con il meotdo opposite() Il cilco forall_adj_edges(u, v) assegna ad u tutti gli archi che hanno v come source o come target E possibile trasformare un grafo diretto in non diretto e viceversa Metodi make_directed e make_undirected /02 2
3 Grafi Parametrizzati I grafi parametrizzati consentono di associare delle informazioni ai nodi ed agli archi del grafo Es. se il grafo rappresenta una rete stradale i nodi sono le città e gli archi le vie di collegamento Ad ogni città è possibile associare una stringa Ad ogni strada la lunghezza o il tempo di percorrenza class Citta; class Strada; GRAPH<Citta, Strada> cartina; 4 Quando Usare il Template di Grafo E possibile associare delle informazioni agli elementi del grafo senza utilizzare la versione template Per esempio memorizzare risultati parziali di una funzione In generale si usano i parametri del template per memorizzare informazioni valide in generale e le strutture dati associate per memorizzare dati occasionali /02 3
4 Principali Strutture Dati node_array, edge_array, node_matrix Consentono di accedere alle informazioni utilizzando l operatore [] e i nodi e gli archi come indici node_map, edge_map, node_map2 Come gli array ma più efficienti (usano l hashing). Consigliati per grafi sparsi node_list e edge_list Liste doppiamente linkate ottimizzate per l uso con i grafi. Ogni nodo può essere contenuto in una sola lista Node_set e edge_set Consentono solo di verificare se un elemento appartiene o meno all insieme 6 Principali Strutture Dati node_partition Implementa una partizione dei nodi del grafo. Ogni nodo può appartenere ad un solo insieme della partizione. Implementa le operazioni di union e find node_pq<p> Coda a priorità di nodi del grafo (min_heap) Il tipo P definisce la priorità /02 4
5 Creazione Automatica La libreria ha numerose funzioni per la generazione automatica di grafi random_graph(graph& G, int n, int m, bool no_anti_par, bool loopfree, bool no_par); random_simple_undirected_graph(graph& G, int n, int m); complete_graph(graph& G, int n); complete_ugraph(graph& G, int n); random_bigraph(graph& G, int a, int b, int m, list<node>& A, list<node>& B); test_graph(graph& G); // interattiva 8 Stampa LEDA ha una propria rappresentazione standard dei grafi È possibile stampare a video o in un file il contenuto di un grafo usando la rappresentazione standard Utilizza il metodo write LEDA_GRAPH void void 4 {} {} {} {} {} {} {} {} /02 5
6 Lettura da File E possibile leggere dallo standard input un grafo Si specificano il numero di nodi ed archi Per ogni nodo si indicano i nodi adiacenti Il programma crea i nodi e gli archi usando i metodi new_node() e new_edge() Per evitare di dover ripetere ogni volta quest operazione è possibile scrivere i dati del grafo in un file Se la rappresentazione è quella standard di LEDA è possibile leggere tutto il grafo con una sola operazione usando il metodo read(string) 10 Interfaccia Grafica Utilizzando la classe GraphWin è possibile costruire un interfaccia grafica a finestre per creare, visualizzare, modificare e salvare dei grafi Per usare oggetti GraphWin si devono linkare le librerie libw, libp, libg, libl e libx11 Su alcuni sistemi la libreria libx11 non si trova nel path di default basta copiarla in /usr/lib /02 6
Esercizi (esercizi 1, 2, 3 e 4) Totale /6 /12 /6 /6 /30
Laboratorio di Algoritmi e Strutture Dati Docente: A. Murano Appello del 22 Gennaio 2007 Laurea in Informatica Università degli Studi di Napoli Federico II Nome e Cognome Numero di Matricola: Esercizi
Dettagli2 OTTIMIZZAZIONE SU GRAFI. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1
2 OTTIMIZZAZIONE SU GRAFI E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 Molti problemi decisionali possono essere formulati utilizzando il linguaggio della teoria dei grafi. Esempi: - problemi di
DettagliGRAFI. Cosa sono Grafi non orientati Grafi orientati Grafi pesati Alberi Automi!
G R A F I 1 GRAFI Cosa sono Grafi non orientati Grafi orientati Grafi pesati Alberi Automi! 2 cip: cip: Pallogrammi Pallogrammi GRAFI: cosa sono I grafi sono una struttura matematica fondamentale: servono
DettagliIntroduzione ai Grafi: Implementazione e operazioni di base
Laboratorio di Algoritmi e Strutture Dati Aniello Murano http://people.na.infn.it people.na.infn.it/~murano/ 1 Introduzione ai Grafi: Implementazione e operazioni di base 2 1 Informazione Generali (1)
Dettagli2 OTTIMIZZAZIONE SU GRAFI. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1
2 OTTIMIZZAZIONE SU GRAFI E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 Molti problemi decisionali possono essere formulati utilizzando il linguaggio della teoria dei grafi. Esempi: - problemi di
DettagliAlgoritmi e Strutture di Dati
Algoritmi e Strutture di Dati I grafi m.patrignani Nota di copyright queste slides sono protette dalle leggi sul copyright il titolo ed il copyright relativi alle slides (inclusi, ma non limitatamente,
Dettaglialgoritmi e strutture di dati
algoritmi e strutture di dati grafi m.patrignani nota di copyright queste slides sono protette dalle leggi sul copyright il titolo ed il copyright relativi alle slides (inclusi, ma non limitatamente, immagini,
DettagliEsercizi proposti 10
Esercizi proposti 10 In questo gruppo di esercizi assumiamo, dove non sia specificato diversamente, di rappresentare i grafi mediante liste di archi, con il tipo di dati così dichiarato: type a graph =
DettagliIntroduzione alla Libreria LEDA
Introduzione alla Libreria LEDA Cosa è LEDA LEDA è una libreria contenente implementazioni di algoritmi e strutture dati Library of Efficient Data types and Algorithms La libreria è strutturata in modo
DettagliCorso di Programmazione in C++ 1
Cosa è LEDA Introduzione alla Libreria LEDA LEDA è una libreria contenente implementazioni di algoritmi e strutture dati Library of Efficient Data types and Algorithms La libreria è strutturata in modo
DettagliGennaio
Laboratorio di Algoritmi e Strutture Dati I Docente: A. Murano Laurea in Informatica -- -- -- 25 Gennaio 2010 -- -- -- Università degli Studi di Napoli Federico II Nome e Cognome Numero di Matricola: Spazio
DettagliLinked Lists. Liste linkate (1) liste linkate ( stack, queues ), trees. Liste linkate come strutture
Linked Lists Liste linkate () La combinazione di class/struct e puntatori porta alla creazioni di interessanti Abstract Data Type liste linkate ( stack, queues ), trees Liste linkate come strutture struct
DettagliEsercizi su strutture dati
Esercizi su strutture dati Marco Alberti Programmazione e Laboratorio, A.A. 2016-2017 Dipartimento di Matematica e Informatica - Università di Ferrara Ultima modifica: 21 dicembre 2016 Liste collegate
DettagliGARA SECONDARIA DI PRIMO GRADO INDIVIDUALE
GARA2 2019 SECONDARIA DI PRIMO GRADO INDIVIDUALE ESERCIZIO 1 Premessa La tabella che segue descrive le attività di un progetto (indicate rispettivamente con le sigle A1, A2,...), riportando per ciascuna
DettagliGRAFI. Angelo Di Iorio Università di Bologna
GRAFI Angelo Di Iorio Università di Bologna Esercizio 1 Implementare una classe Java per memorizzare e manipolare un grafo orientato di nodi di tipo T (usando il framework Generics) Applicazioni: rete
DettagliUna breve introduzione all implementazione in C di algoritmi su grafo
Una breve introduzione all implementazione in C di algoritmi su grafo A cura di Gianmaria Leo Introduzione La lezione è un introduzione a concetti e strumenti che permettono l implementazione di algoritmi
DettagliEsercitazione 7. Grafi. Rappresentazione e algoritmi di visita
Esercitazione 7 Grafi Rappresentazione e algoritmi di visita Grafo G = (V,E) non orientato 1 1 G = (V,E) orientato 6 Rappresentazione Grafo G = (V,E) metodi standard per la rappresentazione Liste di adiacenza
DettagliLaboratorio di Algoritmi e Strutture Dati
Laboratorio di Algoritmi e Strutture Dati Prof. Aniello Murano Grafi: Implementazione ed operazioni di base Corso di Laurea Codice insegnamento Email docente Anno accademico Laboratorio di Algoritmi e
DettagliEsercizi Union-Find e su Grafi. Ugo Vaccaro
Progettazione di Algoritmi Anno Accademico 0 07 Esercizi Union-Find e su Grafi. Ugo Vaccaro. Esercizio: Scrivere pseudocodice per Make-Set, Union, e Find-Set usando la rappresentazione attraverso liste
DettagliSoluzioni della settima esercitazione di Algoritmi 1
Soluzioni della settima esercitazione di Algoritmi 1 Beniamino Accattoli 19 dicembre 2007 1 Grafi Un grafo è non orientato se descrivendo un arco come una coppia di vertici (i,j) l ordine è ininfluente
DettagliDizionari. Hashtables.
Dizionari Hashtables http://www.dia.uniroma3.it/~roselli/ roselli@dia.uniroma3.it Credits Materiale a cura del Prof. Franco Milicchio Introduzione I tipi di dato che abbiamo introdotto fino ad ora sono
DettagliLinked Lists. Liste linkate (1) Progettazione: struct. Liste linkate (2)
Liste linkate () Linked Lists La combinazione di class/struct e puntatori porta alla creazioni di interessanti Abstract Data Type liste linkate ( stack, queues ), trees Liste linkate come strutture struct
DettagliTipi di Dati Astratti
Tipi di Dati Astratti April 19, 2017 Dati e Tipi di Dato Tipo di dato: concetto di alto livello Macchina fisica: unico tipo di dato sequenze di bit Macchine Astratte: tipi di dato più complessi Tipo di
DettagliWolfram Mathematica per la teoria dei grafi
Wolfram Mathematica per la teoria dei grafi Un introduzione all uso di Mathematica Marco Liverani Corso IN0 Ottimizzazione Combinatoria http://www.mat.uniroma.it/users/liverani/in0/ Wolfram Mathematica
DettagliIntroduzione ai grafi. Introduzione ai grafi p. 1/2
Introduzione ai grafi Introduzione ai grafi p. 1/2 Grafi Un grafo G é costituito da una coppia di insiemi (V,A) dove V é detto insieme dei nodi e A é detto insieme di archi ed é un sottinsieme di tutte
DettagliGrafi: introduzione. Definizioni: che cosa sono i grafi. Definizione
Grafi: introduzione e rappresentazione efinizioni: che cosa sono i grafi Un grafo G=(V,) consiste in: un insieme V di vertici (o nodi) un insieme di coppie di vertici, detti archi o spigoli: ogni arco
DettagliInformatica 3. LEZIONE 16: Heap - Codifica di Huffmann. Modulo 1: Heap e code di priorità Modulo 2: Esempio applicativo: codifica di Huffmann
Informatica 3 LEZIONE 16: Heap - Codifica di Huffmann Modulo 1: Heap e code di priorità Modulo 2: Esempio applicativo: codifica di Huffmann Informatica 3 Lezione 16 - Modulo 1 Heap e code di priorità Introduzione
DettagliAlgoritmi e Strutture Dati
Algoritmi e Strutture Dati Capitolo 12 Grafi e visite di grafi Camil Demetrescu, Irene Finocchi, Giuseppe F. Italiano Definizione Un grafo G=(V,E) consiste in: - un insieme V di vertici (o nodi) - un insieme
DettagliGARA SECONDARIA DI PRIMO GRADO INDIVIDUALE
GARA2 2019 SECONDARIA DI PRIMO GRADO INDIVIDUALE ESERCIZIO 1 Premessa La tabella che segue descrive le attività di un progetto (indicate rispettivamente con le sigle A1, A2,...), riportando per ciascuna
DettagliIntroduzione all uso degli oggetti in Java (parte II) Walter Didimo
Introduzione all uso degli oggetti in Java (parte II) Walter Didimo Esercizio all uso di oggetti Nel corso viene fornita una classe i cui oggetti permettono di leggere dati immessi dalla tastiera la classe
DettagliLaboratorio di Algoritmi e Strutture Dati
Laboratorio di Algoritmi e Strutture Dati Aniello Murano http://people.na.infn.it people.na.infn.it/~murano/ Operazioni su Grafi: Inserimento e Cancellazione di un Nodo Possibili scenari Bisogna distinguere
DettagliAlberi. Strutture dati: Alberi. Alberi: Alcuni concetti. Alberi: definizione ricorsiva. Alberi: Una prima realizzazione. Alberi: prima Realizzazione
Alberi Strutture dati: Alberi Strutture gerarchiche di dati Esempi Il file system di un sistema operativo L organigramma di un azienda Alberi generali, alberi n-ari, alberi binari, Ogni nodo ha un unico
DettagliLe classi in java. Un semplice programma java, formato da una sola classe, assume la seguente struttura:
Le classi in java Un semplice programma java, formato da una sola classe, assume la seguente struttura: class Domanda static void main(string args[]) System.out.println( Quanti anni hai? ); La classe dichiarata
DettagliFondamenti di Informatica T-1. Classi & vettori
Classi & vettori 2 Array Un vettore (array) è un insieme ordinato, di dimensione fissa, di oggetti dello stesso tipo. Esempio: array capace di contenere al più 10 numeri interi int[] arrayinteri = new
DettagliRichiami di matematica discreta: grafi e alberi. Paolo Camurati Dip. Automatica e Informatica Politecnico di Torino
Richiami di matematica discreta: grafi e alberi Paolo Camurati Dip. Automatica e Informatica Politecnico di Torino Grafi Definizione: G = (V,E) V: insieme finito di vertici E: insieme finito di archi,
DettagliAppunti lezione Capitolo 13 Programmazione dinamica
Appunti lezione Capitolo 13 Programmazione dinamica Alberto Montresor 12 Novembre, 2015 1 Domanda: Fattore di crescita dei numeri catalani Vogliamo dimostrare che cresce almeno come 2 n. La nostra ipotesi
DettagliStrutture lineari in Java
Strutture lineari in Java Scopo della esercitazione è quello di utilizzare strutture lineari del Java Collection Framework per realizzare strutture più complesse come le matrici. 1 Prerequisiti Verranno
DettagliDIFFUSIONE SU GRAFO (rete) E RIPOSIZIONAMENTO DI FARMACI SULLA BASE DELLA SIMILARITA DI STRUTTURA MOLECOLARE
0 DIFFUSIONE SU GRAFO (rete) E RIPOSIZIONAMENTO DI FARMACI SULLA BASE DELLA SIMILARITA DI STRUTTURA MOLECOLARE Cammini aleatori su grafo (Random walk) 0 «processo di esplorazione casuale di un grafo mediante
DettagliIntroduzione ai grafi. Introduzione ai grafi p. 1/2
Introduzione ai grafi Introduzione ai grafi p. 1/2 Grafi Un grafo G è costituito da una coppia di insiemi (V,A) dove V è detto insieme dei nodi e A è detto insieme di archi ed è un sottinsieme di tutte
DettagliBioinformatica. Grafi. a.a Francesca Cordero. Grafi Bioinformatica
fcordero@di.unito.it Introduzione cknowledgement Lucidi da. Horváth,. emetrescu et al, lgoritmi e strutture dati, McGraw-Hill 3 efinizione: che cosa sono i grafi? definizione astratta: un grafo G = (V,)
DettagliL' ADT grafo è un contenitore di elementi memorizzati nelle posizioni del grafo (vertici e archi)
L' ADT grafo è un contenitore di elementi memorizzati nelle posizioni del grafo (vertici e archi) le informazioni possono essere memorizzate sia sui vertici sia sugli archi del grafo Metodi fondamentali
DettagliInformatica 3. LEZIONE 25: Algoritmi sui grafi. Modulo 1: Problema del percorso più breve Modulo 2: Spanning tree a costo minimo
Informatica LEZIONE 2: Algoritmi sui grafi Modulo 1: Problema del percorso più breve Modulo 2: Spanning tree a costo minimo Informatica Lezione 2 - Modulo 1 Problema del percorso più breve Problema Problema:
DettagliStruct e liste concatenate
Struct e liste concatenate Alessio Orlandi 20 aprile 2010 Tipi complessi Tipi scalari: int, float,... : singolo elemento Contenitori per collezioni di oggetti: array. Quindi: array di interi, array di
Dettagli1 TEORIA DELLE RETI 1. 1 Teoria delle reti. 1.1 Grafi
1 TEORIA DELLE RETI 1 1 Teoria delle reti 1.1 Grafi Intuitivamente un grafo è un insieme finito di punti (nodi o vertici) ed un insieme di frecce (archi) che uniscono coppie di punti Il verso della freccia
DettagliEsercizio 1. Liste di interi
Esercizio 1. Liste di interi Si legga una sequenza di numeri interi da tastiera, dopo ogni inserimento chiedere all'utente se vuole continuare, quindi: Creare due liste L1 e L2 con inserimento ordinato;
DettagliClasse Vettore (i) Creare una classe che consenta di gestire un vettore di N elementi reali (double), che preveda i seguenti metodi:
Classe Vettore (i) Creare una classe che consenta di gestire un vettore di N elementi reali (double), che preveda i seguenti metodi: Vettore(int n): crea un oggetto Vettore contente n elementi, inizializzati
DettagliSimpleFS - un semplice filesystem. Prova finale di Algoritmi e Principi dell Informatica. DEIB, Politecnico di Milano. Anno accademico
SimpleFS - un semplice filesystem Prova finale di Algoritmi e Principi dell Informatica DEIB, Politecnico di Milano Anno accademico 2016-17 Sommario L obiettivo è l implementazione di un semplice filesystem
DettagliL attività sperimentale del corso di Reti Mobili Distribuite prevede lo sviluppo di un applicazione distribuita. Alcuni esempi
Progetti L attività sperimentale del corso di Reti Mobili Distribuite prevede lo sviluppo di un applicazione distribuita. Alcuni esempi Gestione e controllo della rete e dei suoi dispositivi; Instradamento
DettagliImpariamo a programmare in. Lezione 7
Impariamo a programmare in Ancora Stringhe Sequenze di escape Proviamo a stampare una stringa che contiene delle virgolette Hello, World! // NON FUNZIONA! System.out.println("Hello, "World"!"); Il compilatore
DettagliAppunti del corso di Informatica 1 (IN110 Fondamenti) 7 Grafi e alberi: introduzione
Università di Roma Tre Dipartimento di Matematica e Fisica Corso di Laurea in Matematica Appunti del corso di Informatica (IN0 Fondamenti) Grafi e alberi: introduzione Marco Liverani (liverani@mat.uniroma.it)
DettagliMATEMATICA DISCRETA CLAUDIA MALVENUTO PRIMA PROVA IN ITINERE 24 APRILE 2014
MATEMATICA DISCRETA CLAUDIA MALVENUTO PRIMA PROVA IN ITINERE 4 APRILE 014 1. Trovare il numero di stringhe di lunghezza n che si possono formare usando le lettere A, B, C, D, E in modo che ogni stringa
DettagliEsercizio. Strutture Dati
Esercizio Si scriva un metodo public Position sibling(position v) che preso in input un nodo v restituisca il fratello di v. Il metodo dovrà lanciare una BoundaryViolationException nel caso in cui
DettagliTerzo allenamento. Olimpiadi Italiane di Informatica - Selezione territoriale
Terzo allenamento Olimpiadi Italiane di Informatica - Selezione territoriale Luca Chiodini luca@chiodini.org - l.chiodini@campus.unimib.it 22 marzo 2016 Programma 1. Lettura di un problema tratto dalle
DettagliQuarto allenamento. Olimpiadi Italiane di Informatica - Selezione territoriale
Quarto allenamento Olimpiadi Italiane di Informatica - Selezione territoriale Luca Chiodini luca@chiodini.org - l.chiodini@campus.unimib.it 30 marzo 2017 Programma 1. Lettura e analisi di un problema 2.
DettagliScritto di Algoritmi e s.d. (1o anno) 14 Luglio 2004 TESTO e RISPOSTE (in fondo)
Scritto di Algoritmi e s.d. (1o anno) 14 Luglio 2004 TESTO e RISPOSTE (in fondo) Esercizio 1 (punti 4 in prima approssimazione) Consideriamo il seguente codice C: typedef struct nodo * Alb; struct nodo
DettagliProgettazione di algoritmi
Progettazione di algoritmi Discussione dell'esercizio [vincoli] Prima di tutto rappresentiamo il problema con un grafo G: i nodi sono le n lavorazioni L 1, L 2,, L n, e tra due nodi L h, L k c'è un arco
DettagliAlgoritmi e Strutture Dati
Algoritmi e Strutture Dati Capitolo 3 Cammini minimi: algoritmo di Dijkstra Cammini minimi in grafi: cammini minimi a singola sorgente (senza pesi negativi) Cammini minimi in grafi pesati Sia G=(V,E,w)
DettagliUniversità di Bergamo. Dipartimento di Ingegneria dell Informazione e Metodi Matematici. Laboratorio di Reti. Prof.
Università di Bergamo Dipartimento di Ingegneria dell Informazione e Metodi Matematici Laboratorio di Reti Prof. Fabio Martignon 1 Università di Bergamo Dipartimento di Ingegneria dell Informazione e Metodi
DettagliEsercitazione 6 Algorithmi e Strutture Dati (Informatica) A.A 2015/2016
Esercitazione 6 Algorithmi e Strutture Dati (Informatica) A.A 2015/2016 Tong Liu April 14, 2016 Elementi Fondamentali Rappresentazione n = V numero di vertici (nodi) m = E numero di archi Matrice di adiacenza:
DettagliEsercitazione 11. Liste semplici
Esercitazione 11 Liste semplici Liste semplici (o lineari) Una lista semplice (o lineare) è una successione di elementi omogenei che occupano in memoria una posizione qualsiasi. Ciascun elemento contiene
Dettagli7.1 Progettare un algoritmo per costruire ciclo euleriano di un grafo non orientato.
Capitolo 7 Grafi 7.1 Progettare un algoritmo per costruire ciclo euleriano di un grafo non orientato. 7.3 Un grafo a torneo è un grafo orientato G in cui per ogni coppia di vertici x e y esiste un solo
DettagliLezione 6 Struct e qsort
Lezione 6 Struct e qsort Rossano Venturini rossano.venturini@unipi.it Pagina web del corso http://didawiki.cli.di.unipi.it/doku.php/informatica/all-b/start Struct Struct Fino ad ora abbiamo utilizzato
DettagliEsempi. non. orientato. orientato
Definizione! Un grafo G = (V,E) è costituito da un insieme di vertici V ed un insieme di archi E ciascuno dei quali connette due vertici in V detti estremi dell arco.! Un grafo è orientato quando vi è
DettagliFondamenti di Informatica e Laboratorio T-AB T-15 Strutture dati
Fondamenti di Informatica e Laboratorio T-AB T-15 Strutture dati Paolo Torroni Dipartimento di Elettronica, Informatica e Sistemistica Università degli Studi di Bologna Anno Accademico 2008/2009 Sommario
DettagliUNIVERSITÀ DEGLI STUDI ROMA TRE Corso di Studi in Ingegneria Informatica Ricerca Operativa 1 Seconda prova intermedia 17 giugno 2013
A UNIVERSITÀ DEGLI STUDI ROMA TRE Corso di Studi in Ingegneria Informatica Ricerca Operativa Seconda prova intermedia 7 giugno 0 Nome: Cognome: Matricola: Orale /06/0 ore aula N Orale 0/07/0 ore aula N
DettagliIl TDA Graph. Definizione. Note 1. Interfacce Vertex ed Edge
Il TDA Graph Definizione Un grafo è una coppia (V, E), dove V è un insieme di elementi, chiamati vertici (nodi) E è un insieme di coppie di nodi, chiamati archi Nella nostra implementazione, vertici ed
DettagliAlgoritmi e Strutture Dati
Introduzione ai grafi Grafi: Definizione e Algoritmi di visita Maria Rita Di Berardini, Emanuela Merelli 1 1 Dipartimento di Matematica e Informatica Università di Camerino A.A. 2007/08 Introduzione ai
DettagliOrganizzazione Fisica dei Dati (Parte II)
Modello Fisico dei Dati Basi di Dati / Complementi di Basi di Dati 1 Organizzazione Fisica dei Dati (Parte II) Angelo Montanari Dipartimento di Matematica e Informatica Università di Udine Modello Fisico
DettagliAlgoritmi e Strutture Dati Laboratorio 15/12/2008. Daniele Loiacono
Algoritmi e Strutture Dati Laboratorio 15/12/2008 Problema della compressione Rappresentare i dati in modo efficiente Impiegare il numero minore di bit per la rappresentazione Goal: risparmio spazio su
DettagliLaboratorio di Algoritmi e Strutture Dati
Laboratorio di Algoritmi e Strutture Dati Aniello Murano http://people.na.infn.it people.na.infn.it/~murano/ Grafi pesati e alberi minimi di copertura Riepilogo delle lezioni precedenti Definizione di
DettagliB.1 I grafi: notazione e nomenclatura
Appendice B Grafi e Reti In questa appendice richiamiamo i principali concetti relativi a grafi e reti; descriviamo inoltre alcune classi di strutture dati che possono essere utilizzate per implementare
DettagliProgrammazione Orientata agli Oggetti
Programmazione Orientata agli Oggetti Lezione 13 La programmazione ad oggetti si basa su due principi fondamentali ereditarietà polimorfismo Queste due proprietà consentono di definire nuovi tipi di dato
DettagliQuesta soluzione va contemplata quando le lunghezze stimate dalle liste usate sono significativamente maggiori delle dimensioni di un elemento.
Un ulteriore semplificazione si ottiene utilizzando un elemento sentinella (dummy) che non contiene informazione, ma serve a segnalare la fine (e l inizio) di una lista. Questa soluzione va contemplata
DettagliSpesso sono definite anche le seguenti operazioni:
Code a priorità Una coda a priorità è una struttura dati astratta che permette di rappresentare un insieme di elementi su cui è definita una relazione d ordine. Sono definite almeno le seguenti operazioni:
DettagliSQL Server Integration Services. SQL Server 2005: ETL - 1. Integration Services Project
Database and data mining group, SQL Server 2005 Integration Services SQL Server 2005: ETL - 1 Database and data mining group, Integration Services Project Permette di gestire tutti i processi di ETL Basato
DettagliIngresso ed Uscita in C. Informatica 1 / 15
Ingresso ed Uscita in C Informatica 1 / 15 Input e Output in C Linguaggio C: progettato per essere semplice e con poche istruzioni Non esistono istruzioni di ingresso / uscita (I/O)!!! Ingresso ed uscita
DettagliLaboratorio Reti di Calcolatori Laurea Triennale in Comunicazione Digitale. Anno Accademico 2013/2014
Laboratorio Reti di Calcolatori Laurea Triennale in Comunicazione Digitale Anno Accademico 2013/2014 GraphStream Graphstream = libreria Java che gestisce grafi e aspetti dinamici sui o dei grafi => modellazione
DettagliDefinizione. Un grafo è una coppia (V, E), dove
Il TDA Graph Definizione Un grafo è una coppia (V, E), dove V è un insieme di nodi, chiamati vertici E è un insieme di coppie di nodi, chiamati archi Maggiori dettagli nelle slide Grafi Nella nostra implementazione,
DettagliLaboratorio di Algoritmi e Strutture Dati
Laboratorio di Algoritmi e Strutture Dati Prof. Aniello Murano Grafi: Inserimento e Cancellazione di un nodo Visite in ampiezza e profondità Corso di Laurea Codice insegnamento Email docente Anno accademico
DettagliIntroduzione al C++ (continua)
Introduzione al C++ (continua) I puntatori Un puntatore è una variabile che contiene un indirizzo di memoria pi_greco 3.141592 pi_greco_ptr indirizzo di 3.141592 & DEREFERENZIAZIONE RIFERIMENTO * se x
DettagliImplementazione dell albero binario in linguaggio C++
Implementazione dell albero binario in linguaggio C++ Costruire il programma per gestire le operazioni su un albero binario. Ogni nodo dell albero contiene un codice e una descrizione; il programma deve
DettagliUsare Python in Linux
26 Febbraio 2015 Outline 1 Struttura e programma delle lezioni 2 3 Outline Struttura e programma delle lezioni 1 Struttura e programma delle lezioni 2 3 Lezione tipo Struttura e programma delle lezioni
DettagliAlberi binari e alberi binari di ricerca
Alberi binari e alberi binari di ricerca Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica
DettagliFondamenti di informatica T-1 (A K) Esercitazione 2 Basi del linguaggio Java
Fondamenti di informatica T-1 (A K) Esercitazione 2 Basi del linguaggio Java AA 2018/2019 Tutor Lorenzo Rosa lorenzo.rosa@unibo.it 2 Programma Introduzione al calcolatore e Java Linguaggio Java, basi e
DettagliEsercizio 1. Esercizio 2
Esercizio 1 Si scriva un programma C che realizza l'assegnazione ottima di un insieme di persone ad un insieme di città avente la stessa cardinalità. Ogni persona ha espresso una serie di preferenze, elencando
Dettagli/* programma per costruire una partizione del grafo in foreste disgiunte */ #include <stdio.h> #include <stdlib.h>
/* programma per costruire una partizione del grafo in foreste disgiunte */ #include #include /********************/ /* definizione tipi */ /********************/ /* implementazione
DettagliK 4 è planare? E K 3,3 e K 5 sono planari? Sì! No! (Teorema di Kuratowski) K 5. Camil Demetrescu, Irene Finocchi, Giuseppe F.
K 4 è planare? Sì! E K 3,3 e K 5 sono planari? K 5 No! (Teorema di Kuratowski) 1 Un albero è un grafo bipartito? SÌ! Ma un grafo bipartito è sempre un albero?? 2 Algoritmi e Strutture Dati Capitolo 11
DettagliLABORATORIO DI ALGORITMI E STRUTTURE DATI A-L. Ingegneria e scienze informatiche Cesena A.A: 2016/2017 Docente: Greta Sasso
LABORATORIO DI ALGORITMI E STRUTTURE DATI A-L Ingegneria e scienze informatiche Cesena A.A: 2016/2017 Docente: Greta Sasso Minimum Spanning Tree Albero di copertura (Spanning Tree): un albero di copertura
DettagliCORSO DI PROGRAMMAZIONE
ISTITUTO TECNICO INDUSTRIALE G. M. ANGIOY SASSARI CORSO DI PROGRAMMAZIONE PILE E CODE DI DATI DISPENSA 11.02 11-02_Pile_Code_[ver_15] Questa dispensa è rilasciata sotto la licenza Creative Common CC BY-NC-SA.
DettagliProgrammazione Procedurale in Linguaggio C++
Programmazione Procedurale in Linguaggio C++ Strutture di Dati Parte 1 Introduzione versione 2.0 Questolavoroè concessoin uso secondoi termini di unalicenzacreative Commons (vedi ultima pagina) G. Mecca
DettagliSommario. Introduzione 1. 1 Nozioni di base 3. 2 Le tabelle 19. iii
Introduzione 1 1 Nozioni di base 3 Avviare Access e aprire un database 5 Interfaccia di Access 7 Riquadro di spostamento 11 Creare un database vuoto 12 Chiudere un database 13 Creare un database basandosi
DettagliEsercitazione 3. Osserviamo che, dato un grafo con pesi distinti, questo ammette un unico MST.
Esercitazione 3 Problema 6: Sia G = (V, E) un grafo con pesi distinti sugli archi ed e E un arco di G. Progettare un algoritmo lineare in grado di determinare se esiste un MST di G che contiene l arco
DettagliAlgoritmi e Strutture Dati
Algoritmi e Strutture Dati Grafi e visite di grafi Fabio Patrizi 1 Grafo: definizione Un grafo G=(V,E) consiste in: - un insieme V di vertici (o nodi) - un insieme E di coppie di vertici, detti archi (o
Dettaglitempo a disposizione: 120 minuti
Algoritmi e strutture dati 11 luglio 2005 canali A L, M Z Per gli studenti di Nettuno svolgere i Problemi 1 e 5, più un altro a scelta. Ciascun problema svolto correttamente e completamente vale 10 punti.
DettagliPROVA SCRITTA 23 MARZO 2010
PROVA SCRITTA 23 MARZO 2010 In un file binario, MY_FILE.DAT, si memorizzano per ciascuno studente universitario: nome e cognome (stringhe, 20 char), matricola (intero), codice del corso di laurea (stringa
DettagliA. Lorenzi, A. Rizzi Java. Programmazione ad oggetti e applicazioni Android Istituto Italiano Edizioni Atlas
Classi e oggetti A. Lorenzi, A. Rizzi Java. Programmazione ad oggetti e applicazioni Android Istituto Italiano Edizioni Atlas Oggetti La programmazione orientata agli oggetti, OOP (Object-Oriented Programming),
DettagliStrutture dati e loro organizzazione. Gabriella Trucco
Strutture dati e loro organizzazione Gabriella Trucco Introduzione I linguaggi di programmazione di alto livello consentono di far riferimento a posizioni nella memoria principale tramite nomi descrittivi
DettagliCammini Minimi. Algoritmo di Dijkstra. Cammino in un grafo
Cammini Minimi Algoritmo di Dijkstra Cammino in un grafo Dato un grafo G=(V,E), un Cammino (Percorso) in G è un insieme di vertici v 1, v 2,.., v k tali che (v i, v i+1 ) E v 1 v 2 v 3 v k In un grafo
DettagliAlgoritmi e Strutture Dati
Algoritmi e Strutture Dati Capitolo 13 Cammini minimi: Algoritmo di Dijkstra (*) (ACM in grafi diretti e non diretti senza archi di peso negativo) Punto della situazione Algoritmo basato sull ordinamento
Dettagli