Algoritmi e Strutture Dati
|
|
- Giancarlo Bernardi
- 6 anni fa
- Visualizzazioni
Transcript
1 Algoritmi e strutture dati Camil Demetrescu, Irene Finocchi, Giuseppe F. Italiano Algoritmi e Strutture Dati Capitolo 2 Minimo albero ricoprente: Algoritmo di Prim
2 Il problema del calcolo di un Minimum Spanning Tree (MST) Input: un grafo non orientato e pesato G=(V,E,w) Soluzione ammissibile: un albero di copertura (uno spanning tree) di G, ovvero un albero T=(V,F) con F E Misura della soluzione (da minimizzare): costo di T: e F w(e)
3 Un esempio 7 B 2 6 F A 4 C 00 E 4 0 D 0 9 G
4 Un esempio T 7 B 2 6 F A 4 C 00 E 4 0 D 0 9 G
5 Riepilogo: regole del taglio e del ciclo Scegli un taglio del grafo che non è attraversato da archi blu. Tra tutti gli archi non ancora colorati che attraversano il taglio, scegline uno di costo minimo e coloralo di blu (cioè, aggiungilo alla soluzione). Scegli un ciclo nel grafo che non contiene archi rossi. Tra tutti gli archi non ancora colorati del ciclo, scegline uno di costo massimo e coloralo di rosso (cioè, scartalo per sempre).
6 Algoritmo di Prim (957) (in realtà scoperto nel 90 da Jarník) Idea: mantiene un albero blu T (inizialmente è un vertice arbitrario) Applica n- volte il seguente passo: scegli arco di peso minimo che attraversa il taglio (V(T), V\V(T) e coloralo di blu regola del taglio, da cui segue la correttezza
7 Esempio 7 B 2 6 F A 4 C E 4 0 D 0 9 G
8 Esempio 7 B 2 6 F s A 4 C E 4 0 D 0 9 G
9 Esempio 7 B 2 6 F s A 4 C E 4 0 D 0 9 G
10 Esempio 7 B 2 6 F s A 4 C E 4 0 D 0 9 G
11 Esempio 7 B 2 6 F s A 4 C E 4 0 D 0 9 G
12 Esempio 7 B 2 6 F s A 4 C E 4 0 D 0 9 G
13 Esempio 7 B 2 6 F s A 4 C E 4 0 D 0 9 G
14 Esempio 7 B 2 6 F s A 4 C E 4 0 D 0 9 G
15 Complessità? 7 B 2 6 F s A 4 C E 4 0 D 0 9 G un approccio banale: In ognuno degli n- passi, guardo tutti gli O(m) archi che attraversano il taglio (V(T),V\V(T)) corrente, e scelgo quello di peso minimo costo O(m n) possiamo fare meglio?
16 Algoritmi e strutture dati Camil Demetrescu, Irene Finocchi, Giuseppe F. Italiano Un approccio più efficiente Per v T, definiamo arco azzurro associato a v un arco (u,v) tale che u T, ed (u,v) ha peso minimo tra tutti gli archi che connettono v ad un vertice in T L algoritmo mantiene in una coda di priorità i nodi non ancora aggiunti alla soluzione, aventi ciascuno per chiave il peso del rispettivo arco azzurro associato (+ nel caso in cui esso non esista); l insieme delle chiavi viene memorizzato anche in un vettore ausiliario d[..n]; Ad ogni passo, viene estratto il minimo dalla coda, aggiungendo il nodo associato alla soluzione, e si procede quindi all eventuale aggiornamento delle chiavi nella coda di priorità 6 Copyright The McGraw - Hill Companies, srl
17 Algoritmi e strutture dati Camil Demetrescu, Irene Finocchi, Giuseppe F. Italiano Pseudocodice 7 Copyright The McGraw - Hill Companies, srl
18 Algoritmi e strutture dati Camil Demetrescu, Irene Finocchi, Giuseppe F. Italiano Tempo di esecuzione utilizzando heap Supponendo che il grafo G sia connesso e rappresentato tramite liste di adiacenza, avremo n insert, n deletemin e al più m decreasekey n O() + n O(log n) + O(m) O(log n) = O(m log n) utilizzando heap binari o binomiali (come Kruskal) n O() + n O(log n) + O(m) O() * = O(m+n log n) utilizzando heap di Fibonacci (meglio di Kruskal, che costava O(m log n), se m=ω(n), mentre i due approcci si equivalgono se m=θ(n)). 8 Copyright The McGraw - Hill Companies, srl
19 Un algoritmo per calcolare i minimi antenati comuni in un albero un altra applicazione interessante della struttura dati Union-Find
20 Il problema del calcolo dei minimi antenati comuni in un albero Input: un albero radicato T=(V,E) un insieme S di archi non dell albero Output: per ogni (u,v) S, vogliamo il minimo antenato comune LCA(u,v) (da Least Common Ancestor) di u e v, ovvero l antenato di u e v che è più lontanto dalla radice 2 LCA(0,5)= LCA(8,)=4 LCA(9,2)=7 2
21 l idea eseguo una visita DFS mantengo con insiemi disgiunti le parti di albero già visitate (alberi rossi) il nome di una parte di albero è il nodo più vicino alla radice prima di abbandonare un nodo u posso trovare LCA(u,v) con v già visitato (abbandonato) facendo una find(v) u
22 (Tarjan 79)
23 9 0 2
24 9 0 2
25 9 0 2
26 9 0 2
27 9 0 2
28 9 0 2
29 9 0 2
30 9 0 2
31 9 0 2
32 9 0 2
33 9 0 2
34 9 0 2
35 9 0 LCA(9,2)= find(9)=7 2
36 9 0 LCA(9,2)= find(9)=7 2
37 9 0 LCA(9,2)= find(9)=7 2
38 9 0 LCA(9,2)= find(9)=7 2
39 9 0 LCA(9,2)= find(9)=7 2
40 9 0 LCA(9,2)= find(9)=7 2
41 9 0 LCA(9,2)= find(9)=7 2
42 9 0 LCA(9,2)= find(9)=7 2
43 9 0 LCA(9,2)= find(9)=7 2 LCA(0,5)= find(0)=
44 9 0 LCA(9,2)= find(9)=7 2 LCA(0,5)= find(0)=
45 9 0 LCA(9,2)= find(9)=7 2 LCA(0,5)= find(0)=
46 9 0 LCA(9,2)= find(9)=7 2 LCA(0,5)= find(0)=
47 9 0 LCA(9,2)= find(9)=7 2 LCA(0,5)= find(0)=
48 9 0 LCA(9,2)= find(9)=7 2 LCA(0,5)= find(0)=
49 9 0 LCA(9,2)= find(9)=7 2 LCA(0,5)= find(0)=
50 LCA(8,)= find(8)=4 9 0 LCA(9,2)= find(9)=7 2 LCA(0,5)= find(0)=
51 LCA(8,)= find(8)=4 9 0 LCA(9,2)= find(9)=7 2 LCA(0,5)= find(0)=
52 LCA(8,)= find(8)=4 9 0 LCA(9,2)= find(9)=7 2 LCA(0,5)= find(0)=
53 LCA(8,)= find(8)=4 9 0 LCA(9,2)= find(9)=7 2 LCA(0,5)= find(0)=
54 correttezza calcolo LCA(u,v) quando sto abbandonando u e v è già stato visitato (abbandonato) cosa stanno mantenendo gli insiemi disgiunti? u
55 analisi della complessità la visita DFS dell albero senza contare le operazioni sulla struttura dati Union-find costa O(n+m) Costo per le operazioni sulla Union-find: n operazioni di makeset n- operazioni union m= S operazioni di find tempo O(n+m+TempoUF(n,m)) tempo O(n+m (n+m,n))
56 Esercizio Esercizio Esercizio
57 Algoritmi e strutture dati Camil Demetrescu, Irene Finocchi, Giuseppe F. Italiano The end
Cammini minimi. Definizioni. Distanza fra vertici. Proprietà dei cammini minimi. Algoritmi e Strutture Dati
Algoritmi e Strutture Dati Definizioni Sia G=(V,E) un grafo orientato con costi w sugli archi. Il costo di un cammino π= è dato da: Cammini minimi Un cammino minimo tra una coppia di
DettagliAlgoritmi e Strutture Dati
Algoritmi e Strutture Dati Capitolo 8 Code con priorità: Heap binomiali Riepilogo Array non ord. Array ordinato Lista non ordinata Lista ordinata Find Min Insert Delete DelMin Incr. Key Decr. Key merge
DettagliVISITA IL SITO PER ALTRO MATERIALE E GUIDE
COPYRIGHT SEGO LICENSE Questo documento viene fornito così come è: se pensate che faccia schifo problemi vostri, nessuno vi obbliga a leggerlo. Se pensate che sia qualcosa di positivo e/o avete suggerimenti
Dettagli2.3 Cammini ottimi. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1
. Cammini ottimi E. Amaldi Fondamenti di R.O. Politecnico di Milano .. Cammini minimi e algoritmo di Dijkstra Dato un grafo orientato G = (N, A) con una funzione di costo c : A c ij R e due nodi s e t,
Dettagli11.4 Chiusura transitiva
6 11.4 Chiusura transitiva Il problema che consideriamo in questa sezione riguarda il calcolo della chiusura transitiva di un grafo. Dato un grafo orientato G = hv,ei, si vuole determinare il grafo orientato)
DettagliHeap e code di priorità
Heap e code di priorità Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica AA 2009/2010
DettagliEsercizi Capitolo 14 - Algoritmi Greedy
Esercizi Capitolo 14 - Algoritmi Greedy Alberto Montresor 19 Agosto, 2014 Alcuni degli esercizi che seguono sono associati alle rispettive soluzioni. Se il vostro lettore PDF lo consente, è possibile saltare
DettagliMinimo Albero Ricoprente
Minimo lbero Ricoprente Pag. 1/20 Minimo lbero Ricoprente Il problema della definizione di un Minimo lbero Ricoprente trova applicazione pratica in diverse aree di studio, quali ad esempio la progettazione
DettagliEsempio : i numeri di Fibonacci
Esempio : i numeri di Fibonacci La successione di Fibonacci F 1, F 2,... F n,... è definita come: F 1 =1 F 2 =1 F n =F n 1 F n 2,n 2 Leonardo Fibonacci (Pisa, 1170 Pisa, 1250) http://it.wikipedia.org/wiki/leonardo_fibonacci
DettagliADT Coda con priorità
Code con priorità ADT Coda con priorità Una coda con priorità è una struttura dati dinamica che permette di gestire una collezione di dati con chiave numerica. Una coda con priorità offre le operazioni
DettagliUNIVERSITA DEGLI STUDI DI PERUGIA
UNIVERSITA DEGLI STUDI DI PERUGIA REGISTRO DELLE LEZIONI E DELLE ALTRE ATTIVITÀ DIDATTICHE Anno accademico 2006-2007 Dott./Prof. Pinotti Maria Cristina Settore scientifico-disciplinare INF01 Facoltà Scienze
DettagliProgettazione di Algoritmi
Corso di laurea in Informatica Prova scritta del: Progettazione di Algoritmi 1/01/016 Prof. De Prisco Inserire i propri dati nell apposito spazio. Non voltare la finché non sarà dato il via. Dal via avrai
DettagliProblema dell albero di cammini minimi (SPT, Shortest Path Tree) o problema dei cammini minimi :
Per almeno una delle soluzioni ottime { P i, i r } del problema generalizzato, l unione dei cammini P i forma un albero di copertura per G radicato in r e orientato, ossia un albero la cui radice è r i
DettagliInformatica Teorica. Macchine a registri
Informatica Teorica Macchine a registri 1 Macchine a registri RAM (Random Access Machine) astrazione ragionevole di un calcolatore nastro di ingresso nastro di uscita unità centrale in grado di eseguire
DettagliParte V: Rilassamento Lagrangiano
Parte V: Rilassamento Lagrangiano Tecnica Lagrangiana Consideriamo il seguente problema di Programmazione Lineare Intera: P 1 min c T x L I Ax > b Cx > d x > 0, intera in cui A = matrice m x n C = matrice
DettagliAlgoritmi e strutture dati
Algoritmi e Strutture Dati Code con priorità Tipo di dato CodaPriorità (1/2) 2 Tipo di dato CodaPriorità (2/2) 3 Tre implementazioni d-heap: generalizzazione degli heap binari visti per l ordinamento heap
DettagliFondamenti di Internet e Reti 097246
sul livello di Rete Instradamento. o Si consideri la rete in figura.. Si rappresenti, mediante un grafo, la rete per il calcolo dei cammini minimi (solo i nodi e gli archi no reti). Si calcoli il cammino
DettagliAlgoritmi e Strutture Dati. HeapSort
Algoritmi e Strutture Dati HeapSort Selection Sort: intuizioni L algoritmo Selection-Sort scandisce tutti gli elementi dell array a partire dall ultimo elemento fino all inizio e ad ogni iterazione: Viene
DettagliEsercizi Capitolo 6 - Alberi binari di ricerca
Esercizi Capitolo 6 - Alberi binari di ricerca Alberto Montresor 9 Agosto, 204 Alcuni degli esercizi che seguono sono associati alle rispettive soluzioni. Se il vostro lettore PDF lo consente, è possibile
DettagliAlberi binari di ricerca
Alberi binari di ricerca Ilaria Castelli castelli@dii.unisi.it Università degli Studi di Siena Dipartimento di Ingegneria dell Informazione A.A. 2009/20010 I. Castelli Alberi binari di ricerca, A.A. 2009/20010
DettagliCercare il percorso minimo Ant Colony Optimization
Cercare il percorso minimo Ant Colony Optimization Author: Luca Albergante 1 Dipartimento di Matematica, Università degli Studi di Milano 4 Aprile 2011 L. Albergante (Univ. of Milan) PSO 4 Aprile 2011
DettagliAlgoritmi e Strutture di Dati I 1. Algoritmi e Strutture di Dati I Massimo Franceschet http://www.sci.unich.it/ francesc
Algoritmi e Strutture di Dati I 1 Algoritmi e Strutture di Dati I Massimo Franceschet http://www.sci.unich.it/ francesc Algoritmi e Strutture di Dati I 2 Grafo Un grafo G è una coppia (V, E) ove V è un
DettagliAlgoritmi e Strutture Dati
Algoritmi e Strutture Dati Soluzione esercizi di approfondimento Stefano Leucci stefano.leucci@univaq.it Una terza variante dell IS InsertionSort3 (A) 1. for k=1 to n-1 do 2. x = A[k+1] 3. j = ricerca_binaria(a[1,k],x)
DettagliClaudio Arbib Università di L Aquila. Ricerca Operativa. Reti di flusso
Claudio Arbib Università di L Aquila Ricerca Operativa Reti di flusso Sommario Definizioni di base Flusso di un campo vettoriale Divergenza Integrale di Gauss-Greene Flusso in una rete Sorgenti, pozzi
DettagliIl problema del commesso viaggiatore: da Ulisse alla Logistica integrata. Luca Bertazzi
Il problema del commesso viaggiatore: da Ulisse alla Logistica integrata Luca Bertazzi 0 3 Ulisse: da Troia a Itaca Troia Itaca 509 km Quale è stato invece il viaggio di Ulisse? Il viaggio di Ulisse Troia
DettagliAlberto Montresor Università di Trento
!! Algoritmi e Strutture Dati! Capitolo 1 - Greedy!!! Alberto Montresor Università di Trento!! This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License. To view a copy
DettagliMinimo sottografo ricoprente. Minimo sottografo ricoprente. Minimo albero ricoprente. Minimo albero ricoprente
Minimo sottografo ricoprente Minimo sottografo ricoprente Dato un grafo connesso G = (V, E) con costi positivi sugli archi c e, un minimo sottografo ricoprente è un insieme di archi E E tale che: G = (V,
DettagliProva in itinere di Metodi di Ottimizzazione AA 2007/2008: compito A
Nome... Cognome... 1 Prova in itinere di Metodi di Ottimizzazione AA 2007/2008: compito A Un rinomato biscottificio italiano dispone di tre stabilimenti, ubicati nelle città di Ancona, Belluno e Catanzaro
DettagliIntroduzione. Il routing permette la comunicazione tra due nodi differenti anche se non sono collegati direttamente
Routing Introduzione Il livello 3 della pila ethernet ha il compito di muovere i pacchetti dalla sorgente attraversando più sistemi Il livello di network deve quindi: Scegliere di volta in volta il cammino
DettagliStrutture di accesso ai dati: B + -tree
Strutture di accesso ai dati: B + -tree A L B E R T O B E L U S S I S E C O N D A P A R T E A N N O A C C A D E M I C O 2 0 0 9-2 0 0 Osservazione Quando l indice aumenta di dimensioni, non può risiedere
DettagliAppunti lezione Capitolo 15 Ricerca locale
Appunti lezione Capitolo 15 Ricerca locale Alberto Montresor 03 Giugno, 016 1 Introduzione alla ricerca locale Un approccio miope, ma talvolta efficace è quello della ricerca locale. L idea è la seguente:
DettagliDepth-first search. Visita in profondità di un grafo Algoritmo Esempio Complessità dell algoritmo Proprietà Ordinamento topologico
Depth-first search Visita in profondità di n grafo Algoritmo Esempio Complessità dell algoritmo Proprietà Ordinamento topologico Depth-first search Dato n grafo G=(V,E) e n specifico ertice s chiamato
DettagliLinguaggi e Grammatiche Liberi da Contesto
N.Fanizzi-V.Carofiglio Dipartimento di Informatica Università degli Studi di Bari 22 aprile 2016 1 Linguaggi Liberi da Contesto 2 Grammatiche e Linguaggi Liberi da Contesto G = (X, V, S, P) è una grammatica
DettagliMini-Corso di Informatica
Mini-Corso di Informatica CALCOLI DI PROCESSO DELL INGEGNERIA CHIMICA Ing. Sara Brambilla Tel. 3299 sara.brambilla@polimi.it Note sulle esercitazioni Durante le esercitazioni impareremo a implementare
DettagliAlgoritmi e Strutture Dati II: Parte B Anno Accademico Lezione 5
Algoritmi e Strutture Dati II: Parte B Anno Accademico 2004-2005 Docente: Ugo Vaccaro Lezione 5 In questa lezione inizieremo a studiare gli algoritmi di approssimazione per problemi di ottimizzazione NP-hard
DettagliAlberi Bilanciati di Ricerca
Alberi Bilanciati di Ricerca Damiano Macedonio Uniersità Ca' Foscari di Venezia mace@unie.it Copyright 2009, 2010 Moreno Marzolla, Uniersità di Bologna (http://www.moreno.marzolla.name/teaching/asd2010/)
DettagliFILE E INDICI Architettura DBMS
FILE E INDICI Architettura DBMS Giorgio Giacinto 2010 Database 2 Dati su dispositivi di memorizzazione esterni! Dischi! si può leggere qualunque pagina a costo medio fisso! Nastri! si possono leggere le
DettagliMacchina RAM. Modelli di calcolo e metodologie di analisi. Linguaggio di una macchina RAM. Algoritmi e Strutture Dati. Istruzioni.
Algoritmi e Strutture Dati Macchina RAM Nastro di ingresso Modelli di calcolo e metodologie di analisi Contatore istruzioni Programm a Accumulatore Unità centrale M[0] M[1] Nastro di uscita Basato su materiale
DettagliIl concetto di calcolatore e di algoritmo
Il concetto di calcolatore e di algoritmo Elementi di Informatica e Programmazione Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin Informatica
DettagliDistanza di Edit. Speaker: Antinisca Di Marco Data:
Distanza di Edit Speaker: Antinisca Di Marco Data: 14-04-2016 Confronto di sequenze Il confronto tra sequenze in biologia computazionale è la base per: misurare la similarità tra le sequenze allineamento
DettagliLaboratorio di Algoritmi e Strutture Dati II Semestre 2005/2006. Riassunto sui dizionari
Laboratorio di Algoritmi e Strutture Dati II Semestre 2005/2006 Alberi di Ricerca Bilanciati Marco Antoniotti Riassunto sui dizionari Dizionario: astrazione di collezioni Operazioni fondamentali
DettagliINDICE. Vista Libretto Livello Digitale 2. Importazione di dati da strumento 3. Inserisci File Vari 5. Compensazione Quote 5.
Prodotto da INDICE Vista Libretto Livello Digitale 2 Importazione di dati da strumento 3 Inserisci File Vari 5 Compensazione Quote 5 Uscite 6 File Esporta Livellazioni (.CSV) 6 Corso Livello Digitale Pag.
DettagliProblemi di Percorso. Capitolo dodicesimo
Capitolo dodicesimo Problemi di Percorso Introduzione I problemi di determinazione di percorsi ottimi sono tra i più noti problemi di ottimizzazione su rete. Essi si presentano in innumerevoli campi, nella
DettagliIl pallone di Luca di Marcello Falco
Il pallone di Luca di Marcello Falco Usando un pennarello, Luca sta cercando di tracciare un circuito chiuso sulla superficie del pallone di cuoio regalatogli dai genitori. Le regole che Luca si è imposto
DettagliIl file system. Le caratteristiche di file, direttorio e partizione sono del tutto indipendenti dalla natura e dal tipo di dispositivo utilizzato.
Il File System Il file system È quella parte del Sistema Operativo che fornisce i meccanismi di accesso e memorizzazione delle informazioni (programmi e dati) allocate in memoria di massa. Realizza i concetti
DettagliAlgoritmi. a.a. 2013/14 Classe 2: matricole dispari
Algoritmi a.a. 2013/14 Classe 2: matricole dispari Marcella Anselmo Presentazioni Info: http://www.di.unisa.it/professori/anselmo/ Orario ricevimento: Lunedì 15-17 Giovedì 12-13 Il mio studio è il n 57
DettagliCos è un algoritmo. Si dice algoritmo la descrizione di un metodo di soluzione di un problema che sia
Programmazione Un programma descrive al computer, in estremo dettaglio, la sequenza di passi necessari a svolgere un particolare compito L attività di progettare e realizzare un programma è detta programmazione
DettagliAlgoritmi e strutture dati. Codici di Huffman
Algoritmi e strutture dati Codici di Huffman Memorizzazione dei dati Quando un file viene memorizzato, esso va memorizzato in qualche formato binario Modo più semplice: memorizzare il codice ASCII per
DettagliAnalisi multicriteria. Analisi multicriteria
m alternative: a, b,... n criteri: 1, 2,..., n g i (a): valore che viene attribuito all alternativa a sulla base del criterio i. Ogni criterio i induce sull insieme dei candidati una relazione di ordine
DettagliLaboratorio di Architettura degli Elaboratori
Laboratorio di Architettura degli Elaboratori Dott. Massimo Tivoli Set di istruzioni del MIPS32: istruzioni aritmetiche e di trasferimento Istruzioni (Alcune) Categorie di istruzioni in MIPS Istruzioni
DettagliCorso di Calcolo Numerico
Prof. L. Brandolini Corso di Calcolo Numerico Dott.ssa N. Franchina Laboratorio 5 Equazioni differenziali ordinarie: metodi espliciti 25 Novembre 215 Esercizi di implementazione Un equazione differenziale
DettagliEsercizi per il corso di Algoritmi e Strutture Dati
1 Esercizi per il corso di Algoritmi e Strutture Dati Esercizi sulla Tecnica Divide et Impera N.B. Tutti gli algoritmi vanno scritti in pseudocodice (non in Java, né in C++, etc. ). Di tutti gli algoritmi
Dettaglix 1 x x 1 2 x 2 6 x 2 5 Indici di base Vettore Ammissibile Degenere (si/no) (si/no)
Esercitazione di Ricerca Operativa Esercizio. Completare la seguente tabella: max x x x x x x x x x x Indici di base Vettore Ammissibile Degenere, x =, y = Esercizio. Effettuare due iterazioni dell algoritmo
DettagliPARTE III MACCHINE A REGISTRI
PARTE III MACCHINE A REGISTRI Macchine a registri (RAM) Modelli di costo RAM e macchine di Turing Macchine a registri elementari 1 3.1 MACCHINE A REGISTRI (RAM: Random Access Machines) Introdotte da Shepherdson
DettagliAlgoritmi e Strutture Dati
schifano@fe.infn.it Laurea di Informatica - Università di Ferrara 2011-2012 [1] I Dizionari I dizionari sono un caso particolare di insieme in cui sono possibili le seguenti operazioni: verificare l appartenenza
DettagliDiagrammi a blocchi 1
Diagrammi a blocchi 1 Sommario Diagrammi di flusso, o a blocchi. Analisi strutturata. Esercizi. 2 Diagrammi a blocchi È un linguaggio formale di tipo grafico per rappresentare gli algoritmi. Attraverso
DettagliAlgoritmo:Determinare quale percentuale rimane di una certa quantità se nel tempo subisce aumenti/decrementi percentuali.
Algoritmo:Determinare quale percentuale rimane di una certa quantità se nel tempo subisce aumenti/decrementi percentuali. Partiamo da un semplice problema Un negozio aumenta il prezzo di di un cappotto
DettagliPROCESSI NON SEQUENZIALI E TIPI DI INTERAZIONE
PROCESSI NON SEQUENZIALI E TIPI DI INTERAZIONE 1 ALGORITMO, PROGRAMMA, PROCESSO Algoritmo Procedimento logico che deve essere eseguito per risolvere un determinato problema. Programma Descrizione di un
DettagliSistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova.
Programmi applicativi Un programma applicativo (o applicativo) è un eseguibile che può essere utilizzato dall utente e che ha funzionalità di alto livello (word processor, spreadsheet, DBMS) Univ. Milano-Bicocca
DettagliLezione 39: la legge di Ohm e i circuiti elettrici
Lezione 39 - pag.1 Lezione 39: la legge di Ohm e i circuiti elettrici 39.1. Il circuito elementare Nella scorsa lezione abbiamo rappresentato in modo più o meno realistico alcuni circuiti elettrici particolarmente
DettagliI B+ Alberi. Sommario
I B+ Alberi R. Basili (Basi di Dati, a.a. 2002-3) Sommario Indici organizzati secondo B + -alberi Motivazioni ed Esempio Definizione Ricerca in un B + -albero Esempio Vantaggi Inserimento/Cancellazione
DettagliSUI SISTEMI DI DISEQUAZIONI IN DUE INCOGNITE
SUI SISTEMI DI DISEQUAZIONI IN DUE INCOGNITE.Sistema di disequazioni in due incognite di primo grado Una disequazione di primo grado in due incognite: a b c nel piano cartesiano, rappresenta uno dei due
Dettagli16.3.1 Alberi binari di ricerca
442 CAPITOLO 16. STRUTTURE DI DATI DINAMICHE root 7 5 11 2 8 13 10 Figura 16.11 Esempio di albero binario: ogni nodo contiene il dato da immagazzinare e tre puntatori che definiscono le sue relazioni di
DettagliDefinizione di metodi in Java
Definizione di metodi in Java Un metodo in Java definisce un operazione ad alto livello (sottoprogramma) che consente di manipolare dati e oggetti. Durante la computazione effettuata da un programma, un
DettagliRipasso di teoria ed esercizi in preparazione al terzo compito. 26 gennaio 2004
Ripasso di teoria ed esercizi in preparazione al terzo compito 26 gennaio 2004 Teoria: domande tipo per il terzo compitino 1. Metaprogrammazione: In cosa consiste la metaprogrammazione? Quali sono alcuni
DettagliRiduzione degli schemi a blocchi
0.0..2 Riduzione degli scemi a blocci Spesso i sistemi complessi vengono rappresentati con scemi a blocci, i cui elementi anno ciascuno un solo ingresso e una sola uscita. I blocci elementari per la rappresentazione
DettagliI POLIGONI. DEFINIZIONE: un poligono è una parte limitata di piano definita da una linea chiusa, spezzata, non intrecciata.
I POLIGONI COS È UN POLIGONO? DEFINIZIONE: un poligono è una parte limitata di piano definita da una linea chiusa, spezzata, non intrecciata. Un poligono è fatto di: - SEGMENTI detti LATI - ESTREMI DEI
DettagliPROGRAMMAZIONE STRUTTURATA
PROGRAMMAZIONE STRUTTURATA Programmazione strutturata 2 La programmazione strutturata nasce come proposta per regolamentare e standardizzare le metodologie di programmazione (Dijkstra, 1965) Obiettivo:
DettagliParte 6 Esercitazione sull accesso ai file
Gestione dei dati Parte 6 Esercitazione sull accesso ai file Maurizio Lenzerini, Riccardo Rosati Facoltà di Ingegneria Sapienza Università di Roma Anno Accademico 2012/2013 http://www.dis.uniroma1.it/~rosati/gd/
DettagliAppunti di informatica. Lezione 4 anno accademico 2015-2016 Mario Verdicchio
Appunti di informatica Lezione 4 anno accademico 2015-2016 Mario Verdicchio Numeri primi Si definisce primo un numero intero maggiore di 1 che ha due soli divisori: se stesso e 1 Esempi di numeri primi:
DettagliFondamenti di Informatica. Algoritmi di Ricerca e di Ordinamento
Fondamenti di Informatica Algoritmi di Ricerca e di Ordinamento 1 Ricerca in una sequenza di elementi Data una sequenza di elementi, occorre verificare se un elemento fa parte della sequenza oppure l elemento
DettagliProva d esame di Reti Logiche T 10 Giugno 2016
Prova d esame di Reti Logiche T 10 Giugno 2016 COGNOME:.. NOME:.. MATRICOLA: Si ricorda il divieto di utilizzare qualsiasi dispositivo elettronico (computer, tablet, smartphone,..) eccetto la calcolatrice,
DettagliEsercizi di teoria per SPA. punti massimi i tuoi punti
Esercizi di teoria per SPA Tiziano Villa Anno Accademico 2008-9 Nome e Cognome: Matricola: Posta elettronica: problema problema 1 problema 2 problema 3 problema 4 problema 5 problema 6 problema 7 problema
DettagliI Grafi ad Albero..Strumenti per aiutare a ragionare
I Grafi ad Albero..Strumenti per aiutare a ragionare Cosa sono i grafi? I grafi sono diagrammi costituiti da oggetti e da linee di collegamento; gli oggetti vengono chiamati nodi, le linee archi. Se gli
DettagliCUTPOINTS BRIDGES BLOCKS BLOCK GRAPHS - CUTPOINT GRAPHS
CUTPOINTS BRIDGES BLOCKS BLOCK GRAPHS - CUTPOINT GRAPHS INTRODUZIONE Per conoscere la struttura di un grafo connesso è importante individuare nel grafo la distribuzione di certi punti detti cutpoints (punti
DettagliDue algoritmi di ordinamento. basati sulla tecnica Divide et Impera: Mergesort e Quicksort
Due algoritmi di ordinamento basati sulla tecnica Divide et Impera: Mergesort e Quicksort (13 ottobre 2009, 2 novembre 2010) Ordinamento INPUT: un insieme di n oggetti a 1, a 2,, a n presi da un dominio
DettagliAlgoritmi. Pagina 1 di 5
Algoritmi Il termine algoritmo proviene dalla matematica e deriva dal nome di in algebrista arabo del IX secolo di nome Al-Khuwarizmi e sta ad indicare un procedimento basato su un numero finito operazioni
DettagliProf.ssa Laura Pagnozzi Prof. Ivano Coccorullo. Calcolo Combinatorio
Prof.ssa Laura Pagnozzi Prof. Ivano Coccorullo Calcolo Combinatorio Calcolo Combinatorio ü Molti dei problemi classici di calcolo delle probabilità si riducono al calcolo dei casi favorevoli e di quelli
Dettagli= < < < < < Matematica 1
NUMERI NATURALI N I numeri naturali sono: 0,1,2,3,4,5,6,7,8,9,10,11,12,13,... L insieme dei numeri naturali è indicato con la lettera. Si ha cioè: N= 0,1,2,3,4,5,6,7,.... L insieme dei naturali privato
DettagliStrutture Dinamiche. Fondamenti di Informatica
Strutture Dinamiche Fondamenti di Informatica 1 Indice Allocazione e de-allocazione di memoria Liste e loro gestione Companies, srl 2 Allocazione e cancellazione di memoria malloc (sizeof (TipoDato));
DettagliHardware, software e periferiche. Facoltà di Lettere e Filosofia anno accademico 2008/2009 secondo semestre
Hardware, software e periferiche Facoltà di Lettere e Filosofia anno accademico 2008/2009 secondo semestre Riepilogo - Concetti di base dell informatica L'informatica è quel settore scientifico disciplinare
DettagliEsercizi di Algoritmi e Strutture Dati
Esercizi di Algoritmi e Strutture Dati Moreno Marzolla marzolla@cs.unibo.it Ultimo aggiornamento: 29 novembre 2010 1 Rotazioni semplici in ABR Si consideri l operazione di rotazione semplice applicata
Dettagliquadrilatero generico parallelogramma rombo rettangolo quadrato
Pavimentare 1. Quali forme di quadrilateri puoi costruire? Schizza tutte le forme possibili e scrivi il loro nome. 2. Cosa rappresentano i piccoli punti rossi sui lati del quadrilatero? 3. a) Costruisci
DettagliLinguaggi di Programmazione Corso C. Parte n.3 Linguaggi Liberi da Contesto e Linguaggi Contestuali. Nicola Fanizzi
Linguaggi di Programmazione Corso C Parte n.3 Linguaggi Liberi da Contesto e Linguaggi Contestuali Nicola Fanizzi (fanizzi@di.uniba.it) Dipartimento di Informatica Università degli Studi di Bari Grammatiche
DettagliOpenDataLazio Formia 9 aprile 2015 Laboratorio. Roberto Angeletti
OpenDataLazio Formia 9 aprile 2015 Laboratorio Roberto Angeletti OpenDataLazio dati.lazio.it Quali dati aperti del Lazio sono subito visualizzabili su una mappa? Troviamo i dati vettoriali catalogati
DettagliPrincipi e Metodologie della Progettazione Meccanica
Principi e Metodologie della Progettazione Meccanica ing. F. Campana a.a. 06-07 Lezione 11: CAE e Ottimizzazione Strutturale Il ruolo dell ottimizzazione nell ambito della progettazione meccanica Durante
Dettagli5.16 Aggiornamento automatico Contesti scuola
5.16 Aggiornamento automatico Contesti scuola 5.16.1 A cosa serve Questa funzionalità serve a gestire i contesti di tipo scuola di tutti i profili di un utente. Pertanto, per inserire/modificare/cancellare
DettagliSistemi Web per il turismo - lezione 3 -
Sistemi Web per il turismo - lezione 3 - Software Si definisce software il complesso di comandi che fanno eseguire al computer delle operazioni. Il termine si contrappone ad hardware, che invece designa
DettagliGrafi. Moreno Marzolla Dip. di Informatica Scienza e Ingegneria Università di Bologna. moreno.marzolla@unibo.it http://www.moreno.marzolla.
Grafi Moreno Marzolla ip. di Informatica Scienza e Ingegneria Università di ologna moreno.marzolla@unibo.it http://www.moreno.marzolla.name/ opyright lberto Montresor, Università di Trento, Italy (http://www.dit.unitn.it/~montreso/asd/index.shtml)
DettagliMacchine RAM. API a.a. 2013/2014 Gennaio 27, 2014 Flavio Mutti, PhD
Macchine RAM API a.a. 2013/2014 Gennaio 27, 2014 Flavio Mutti, PhD 2 Macchina RAM 3 Esercizio Si consideri il linguaggio definito da: L = wcw R w a, b } 1. Codificare un programma RAM per il riconoscimento
DettagliUML I diagrammi implementativi
Corso di Laurea Specialistica in Ingegneria Informatica Corso di Ingegneria del Software A. A. 2008 - UML I diagrammi implementativi E. TINELLI I diagrammi implementativi In UML 2.x esistono 3 tipi di
DettagliEsercitazione # 3. Trovate la probabilita che in 5 lanci di un dado non truccato il 3 si presenti
Statistica Matematica A Esercitazione # 3 Binomiale: Esercizio # 1 Trovate la probabilita che in 5 lanci di un dado non truccato il 3 si presenti 1. mai 2. almeno una volta 3. quattro volte Esercizio #
DettagliSuccessioni ricorsive lineari
Presentazione del problema In un piccolo comune, 1000 abitanti, il tasso di mortalità annuo è del 20%; fortunatamente ogni anno nascono 100 bambini. Qual è nel tempo l'evoluzione della popolazione? Si
DettagliESERCITAZIONI DI LOGISTICA. Laurea in Ingegneria Logistica e della Produzione. Corso di Logistica e di Distribuzione
ESERCITAZIONI DI LOGISTICA Laurea in Ingegneria Logistica e della Produzione Corso di Logistica e di Distribuzione Docente: Prof. Ing. Giulio Zotteri A.A. 2002/2003 Tutore: Ing. Scapaccino Giuliano QUINTA
DettagliTOP DOWN. Compiti in classe proposti Modulo 1 JUVENILIA SCUOLA. Iacobelli Ajme Marrone
Compiti in classe proposti Modulo Domande Vero/Falso I dati vengono memorizzati nella CPU 2 Un Megabyte corrisponde a circa un milione di Byte 3 Gli Antivirus diffondono virus nel computer 4 LAN vuol dire
DettagliIn molte applicazioni sorge il problema di sapere in quanti modi possibili si può presentare un certo fenomeno.
Definizione Oggetto del calcolo combinatorio è quello di determinare il numero dei modi mediante i quali possono essere associati, secondo prefissate regole, gli elementi di uno stesso insieme o di più
DettagliLa quantità chimica LA MOLE
La quantità chimica LA MOLE 1 QUANTO PESA UN ATOMO? Se lo misurassimo in grammi, l atomo di H, il più piccolo, avrebbe una massa di 1,6 x10-24 g. Per convenzione, si assegna un valore arbitrario (12) alla
DettagliTopologie delle reti di telecomunicazione
Topologie delle reti di telecomunicazione Gruppo Reti TLC nome.cognome@polito.it http://www.telematica.polito.it/ INTRODUZIONE ALLE RETI TELEMATICHE - 1 Rete di telecomunicazione Definizione: un insieme
DettagliLE FUNZIONI GONIOMETRICHE
LE FUNZIONI GONIOMETRICHE La misura degli angoli Si chiama angolo la porzione di piano racchiusa tra due semirette. Angolo convesso Angolo concavo Le unità di misura degli angoli sono: il grado sessagesimale
DettagliMetodi e Modelli per l Ottimizzazione Combinatoria Il problema del flusso di costo minimo
Metodi e Modelli per l Ottimizzazione Combinatoria Il problema del flusso di costo minimo L. De Giovanni G. Zambelli 1 Problema del flusso a costo minimo Il problema del flusso a costo minimo é definito
Dettagli