UNIVERSITA DEGLI STUDI DI PERUGIA

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "UNIVERSITA DEGLI STUDI DI PERUGIA"

Transcript

1 UNIVERSITA DEGLI STUDI DI PERUGIA REGISTRO DELLE LEZIONI E DELLE ALTRE ATTIVITÀ DIDATTICHE Anno accademico Dott./Prof. Pinotti Maria Cristina Settore scientifico-disciplinare INF01 Facoltà Scienze Matematiche Fisiche e Naturali

2 Definizione di algoritmo efficiente. Scalabilita' di un algoritmo polinomiale rispetto a scalabilita' di un algoritmo esponenziale. Analisi del caso pessimo versus analisi nel caso medio. Un esempio: Insertion Sort. ARGOMENTO : B) ESERCITAZIONI E SEMINARI Bubble sort, Merge: correttezza e complessita'. Serie aritmetiche, serie geometriche, serie armonica. Somma dei primi N numeri interi, dei primi N numeri interi al quadrato. Somma dei primi N numeri dispari. Data 3 ottobre orario Crescita asintotica delle funzioni. Ordini di grandezza. Data 4 ottobre orario Proprieta' degli ordini di grandezza. Introduzione dell'equazioni di ricorrenza. Divide-et-impera: cenni. Data 4 ottobre orario Funzioni iterate e altezza degli alberi di ricorsione. Ordinamento di funzioni secondo l'ordine asintotica di crescita. Data 10 ottobre orario Procedure divide-et-impera: rango, cerca elemento e merge-sort. Analisi della complessita'. Metodo della sostituzione. Data 11 ottobre orario 9-11 Induzione e equazioni di ricorrenza. Esempi. Teorema dell'esperto per la soluzione di equazioni di ricorrenza a partizioni. Data 11 ottobre orario Esempi di soluzione di equazioni di ricorrenza basati sul terorema dell'esperto. Divide-et-impera: merge-insertion sort, cioe' un algoritmo ibrido che utilizza insertion-sort per ordinare sub-array di dimensione al piu' k e merge per ordinare concatenando tali sub-array. Analisi della complessita' al variare di k. Data 17 ottobre orario Data 18 ottobre orario 9-11

3 ARGOMENTO : C) ESERCITAZIONI E SEMINARI Divide-et-impera: contare le inversioni in un array ordinato, moltiplicazione fra due interi. Heap: definizione e proprieta' dell'altezza del numero di foglie. Heap come coda di priorita'. Inserzione e cancellazione: analisi della complessita'. Max-Heapify: analisi della complessita'. Data 18 ottobre orario Costruzione di uno heap in tempo lineare. Heapsort. d-heap: analisi e proprieta'. Quicksort: procedura perno. Analisi della complessita' nel caso pessimo. Data 24 ottobre orario Analisi nel caso medio di insertion sort e quicksort. Analisi nel caso migliore di quicksort. Data 25 ottobre orario 9-11 Introduzione al limite inferiore della complessita' di un problema. Tecnica della dimensione dei dati, eventi contabili e albero delle decisioni. Esempio: le dodici monete. Ordinamento in buckets: upper e lower bounds Data 25 ottobre orario Lower bound del calcolo del primo e del secondo elemento in un insieme totalmente ordinato. Counting-sort. Radix-sort. Data 7 novembre orario Mediana: una versione modificata di quicksort quadratica nel caso pessimo e lineare nel caso medio. Data 8 novembre orario 9-11 Mediana: algoritmo lineare nel caso pessimo. Analisi della complessita' al variare della dimensione dei gruppi. Quicksort modificato scegliendo la mediana come perno: analisi della complessita'. Ricerca dei quantili. Ricerca della mediana di due insiemi, ciascuno ordinato. Data 8 novembre orario Data 14 movembre orario 15-17

4 Tabelle hash: ricerca senza successo, inserzione, ricerca con successo. Realizzazione con liste di concatenamento: analisi del tempo medio di inserzione e di ricerca con successo sotto le ipotesi di hashing uniforme semplice. ARGOMENTO : D) ESERCITAZIONI E SEMINARI Realizzazione ad indirizamento aperto: scansione lineare e quadratica. Diverse funzioni hash. Hash universale. Tabelle hash ad indirizzamento aperto. Data 15 novembre orario 9-11 Analisi del tempo medio di ricerca senza successo, insersione e ricerca con successo nelle tabelle hash ad indirizzamento aperto. Alberi binari di ricerca: inserzione, cancellazione, successivo, predecessore. Data 15 novembre orario Alberi rosso-neri : proprieta' e inserzioni. Grafi, notazioni e rappresentazione con matrice di adiacenze e con liste delle adiacenze. Data 21 novembre orario Rappresentazione dei grafi con vettori di adiacenze.determinare se un nodo e' un pozzo universale. Visita i profondita' di grafi orientati e non orientati. Data 22 novembre orario 9-11 Tempi di inizio e fine visita nella DFS. Visita in profondita' di grafi orientati e non. Componenti connesse in un grafo non orientato. Tipi degli archi nell'albero di copertura della visita in profondita'. Data 28 novembre orario Visita in ampiezza (BFS) di grafi orientati e non orientati. Cammini di lunghezza minimi e BFS. Dimostrazione che la visita' in profondita' trova i cammini minimi da sorgente singola. Proprieta' delle distanze dei vertici in coda. Data 29 novembre orario 9-11 Algoritmo per controllare se un grafo e' bipartito. Algoritmo per determinare il sort topologico di un grafo diretto aciclico. Il ruolo del pozzo nel sort topologico. Algoritmo per determinare i punti di articolazione di un grafo non orientato. Data 5 dicembre orario Data 6 dicembre orario 9-11

5 ARGOMENTO : E) ESERCITAZIONI E SEMINARI Tour di Eulero in un grafo orientato. Diametro di Esercizi. un albero. Strutture dati per insiemi disgiunti. Data 12 dicembre orario Data 13 dicembre orario 9-11 Esercizi Data 20 dicembre orario 9-11 Data orario Data orario Data orario Data orario Data orario

Dispense per i corsi di Informatica generale Corso di laurea in Matematica e. Introduzione agli Algoritmi Corso di laurea in Informatica

Dispense per i corsi di Informatica generale Corso di laurea in Matematica e. Introduzione agli Algoritmi Corso di laurea in Informatica Dispense per i corsi di Informatica generale Corso di laurea in Matematica e Introduzione agli Algoritmi Corso di laurea in Informatica Prof. Tiziana Calamoneri Prof. Giancarlo Bongiovanni Questi appunti

Dettagli

ALGORITMI CORSO DI STUDIO IN INFORMATICA (laurea triennale) UNIVERSITÀ DEGLI STUDI DI CATANIA ANNO ACCADEMICO 2014/15

ALGORITMI CORSO DI STUDIO IN INFORMATICA (laurea triennale) UNIVERSITÀ DEGLI STUDI DI CATANIA ANNO ACCADEMICO 2014/15 ANNO ACCADEMICO 2014/15 1 a prova in itinere 13 gennaio 2015 ESERCIZIO 1 Si risolva l equazione di ricorrenza al variare del parametro reale a>1. T (n) = 27 n a T + n 2 log n a ESERCIZIO 2 Si ordinino

Dettagli

Algoritmi e Strutture Dati 2/ed Quiz a risposta multipla

Algoritmi e Strutture Dati 2/ed Quiz a risposta multipla Camil Demetrescu Irene Finocchi Giuseppe F. Italiano Algoritmi e Strutture Dati 2/ed Quiz a risposta multipla Indice 1 Un introduzione informale agli algoritmi 1 2 Modelli di calcolo e metodologie di

Dettagli

Algoritmi e Strutture dati a.a. 2012/2013

Algoritmi e Strutture dati a.a. 2012/2013 a.a. 2012/2013 Dr Informazioni docente E-mail docente: [email protected] Ricevimento: Su appuntamento (inviare e-mail) 2 Informazioni lezioni Lunedì, Martedì, Mercoledì 10:30-13:30 aula INFO2 15

Dettagli

Algoritmi e Strutture dati a.a. 2013/2014

Algoritmi e Strutture dati a.a. 2013/2014 a.a. 2013/2014 Dr Informazioni docente E-mail docente: [email protected] Ricevimento: Mercoledì 15:00-16:00 presso ufficio docenti a contratto (3 piano), Dipartimento di Matematica e Informatica, Campus

Dettagli

ALGORITMI E LABORATORIO

ALGORITMI E LABORATORIO DIPARTIMENTO DI MATEMATICA E INFORMATICA Corso di laurea in Informatica Anno accademico 2016/2017-2 anno E 9 CFU - 1 semestre Docenti titolari dell'insegnamento DOMENICO CANTONE - Modulo - INF/01-6 CFU

Dettagli

Algoritmi e Strutture Dati

Algoritmi 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

Dettagli

Appunti del corso di Informatica 1 (IN110 Fondamenti) 7 Grafi e alberi: introduzione

Appunti 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 ([email protected])

Dettagli

Esercizi per il corso di Algoritmi, anno accademico 2011/12

Esercizi per il corso di Algoritmi, anno accademico 2011/12 Esercizi per il corso di Algoritmi, anno accademico 2011/12 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

Dettagli

Esempi. non. orientato. orientato

Esempi. 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 è

Dettagli

Esercizi Union-Find e su Grafi. Ugo Vaccaro

Esercizi 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

Dettagli

Algoritmi e Strutture Dati

Algoritmi 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

Grafi: visite. Una breve presentazione. F. Damiani - Alg. & Lab. 04/05 (da C. Demetrescu et al - McGraw-Hill)

Grafi: visite. Una breve presentazione. F. Damiani - Alg. & Lab. 04/05 (da C. Demetrescu et al - McGraw-Hill) Grafi: visite Una breve presentazione Visite di grafi Scopo e tipi di visita Una visita (o attraversamento) di un grafo G permette di esaminare i nodi e gli archi di G in modo sistematico Problema di base

Dettagli

Algoritmi di ordinamento

Algoritmi di ordinamento Algoritmi di ordinamento! Selection Sort! Quick Sort! Lower bound alla complessità degli algoritmi di ordinamento Ordinamento 1 Selection Sort SelectionSort(dati[]) { for (i=0; idati.length-1; i++) { min

Dettagli

Ordinamenti per confronto: albero di decisione

Ordinamenti per confronto: albero di decisione Ordinamenti per confronto: albero di decisione Albero di decisione = rappresentazione grafica di tutte le possibili sequenze di confronti eseguite da un algoritmo assegnato di ordinamento per confronto

Dettagli

Algoritmi e Strutture Dati

Algoritmi 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

Dettagli

Grafi: definizioni e visite

Grafi: definizioni e visite Grafi: definizioni e visite Grafi (non orientati) Grafo (non orientato): G = (V, E) V = nodi (o vertici) E = archi fra coppie di nodi distinti. Modella relazioni fra coppie di oggetti. Parametri della

Dettagli

Visite in Grafi BFS e DFS

Visite in Grafi BFS e DFS Visite in Grafi BFS e DFS Visita di un Grafo Obiettivo: Visitare una sola volta tutti i nodi del grafo. Es.: visitare un porzione del grafo del Web Difficoltà: Presenza di cicli: Marcare i nodi visitati

Dettagli

Corso di Laurea in Ingegneria Informatica (L8) Anno Accademico 2015/2016 FONDAMENTI DI INFORMATICA

Corso di Laurea in Ingegneria Informatica (L8) Anno Accademico 2015/2016 FONDAMENTI DI INFORMATICA Dipartimento di Ingegneria Elettrica, Elettronica e Informatica Corso di Laurea in Ingegneria Informatica (L8) Anno Accademico 2015/2016 FONDAMENTI DI INFORMATICA Docente titolare dell insegnamento: Proff.

Dettagli

Algoritmi e Strutture Dati. Capitolo 13 Cammini minimi: Algoritmo di Bellman e Ford

Algoritmi e Strutture Dati. Capitolo 13 Cammini minimi: Algoritmo di Bellman e Ford Algoritmi e Strutture Dati Capitolo 13 Cammini minimi: Algoritmo di Bellman e Ford Cammini minimi in grafi: una trilogia Cammini minimi in grafi: Episodio II: cammini minimi a singola sorgente (per grafi

Dettagli

Algoritmi e Strutture Dati

Algoritmi e Strutture Dati + Laboratorio: struttura del corso Laboratorio di Introduzione al Corso Maria Rita Di Berardini (Ascoli), Emanuela Merelli (Camerino) 1 1 Dipartimento di Matematica e Informatica Università di Camerino

Dettagli

Appunti di Ricerca Operativa

Appunti di Ricerca Operativa Appunti di Ricerca Operativa 2012/2013 Prefazione La Ricerca Operativa è un campo in continua evoluzione, il cui impatto sulle realtà aziendali ed organizzative è in costante crescita. L insegnamento di

Dettagli

Grafi: ordinamento topologico

Grafi: ordinamento topologico .. Grafi: ordinamento topologico Che cosa e e come si calcola Che cosa e un ordinamento topologico F. Damiani - Alg. & Lab. 04/05 Una definizione di ordinamento topologico Definizione. Funzione σ: V {1,

Dettagli

FONDAMENTI DI INFORMATICA - canale 1

FONDAMENTI DI INFORMATICA - canale 1 DIPARTIMENTO DI INGEGNERIA ELETTRICA ELETTRONICA E INFORMATICA Corso di laurea in Ingegneria informatica Anno accademico 2016/2017-1 anno FONDAMENTI DI INFORMATICA - canale 1 ING-INF/05-9 CFU - Insegnamento

Dettagli

Grafi. V = {a, b, c, d} E = {(a, b), (a, c), (c, a), (d, d), (b, d)}

Grafi. V = {a, b, c, d} E = {(a, b), (a, c), (c, a), (d, d), (b, d)} Grafi Grafo orientato (o diretto) = (V,E) V = nodi o vertici - E = archi (edges) V = {a, b, c, d} E = {(a, b), (a, c), (c, a), (d, d), (b, d)} archi uscenti da un nodo x: (x, y) archi incidenti su un nodo

Dettagli

Grafi pesati Minimo albero ricoprente

Grafi pesati Minimo albero ricoprente Algoritmi e Strutture Dati Definizioni Grafi pesati Minimo albero ricoprente Sia G=(V,E) un grafo non orientato e connesso. Un albero ricoprente di G è un sottografo T G tale che: T è un albero; T contiene

Dettagli

Algoritmi e Strutture Dati

Algoritmi e Strutture Dati Introduzione al corso di Algoritmi e Strutture Dati Luigi Pontieri Il nome del corso: Algoritmi e Strutture Dati Algoritmo: metodo per la risoluzione di problemi di elaborazione di informazioni, espresso

Dettagli

Programma di Matematica svolto nella 1 liceo Scientifico opzione Scienze Applicate

Programma di Matematica svolto nella 1 liceo Scientifico opzione Scienze Applicate Programma di Matematica svolto nella 1 liceo Scientifico opzione Scienze Applicate Anno scolastico 2014/15 Numeri naturali e numeri interi relativi L'insieme dei numeri naturali I numeri naturali e il

Dettagli

ALBERI ORIENTATI. Definizione: Albero orientato = rooted tree = grafo orientato con le seguenti proprietà: - ha un nodo fissato, detto radice (r);

ALBERI ORIENTATI. Definizione: Albero orientato = rooted tree = grafo orientato con le seguenti proprietà: - ha un nodo fissato, detto radice (r); ALBERI ORIENTATI Pagina 1 ALBERI ORIENTATI 15:05 Definizione: Albero orientato = rooted tree = grafo orientato con le seguenti proprietà: - ha un nodo fissato, detto radice (r); - per ogni nodo v, esiste

Dettagli

PROVETTE D ESAME. Algoritmi e Strutture Dati

PROVETTE D ESAME. Algoritmi e Strutture Dati PROVETTE D ESAME Algoritmi e Strutture Dati ESERCIZIO 1 Si ottengano limiti superiori e inferiori per la seguente ricorrenza ESERCIZIO 1 ESERCIZIO 2 Dato un albero binario T, il grado di sbilanciamento

Dettagli

Lezioni di Ricerca Operativa

Lezioni di Ricerca Operativa Lezioni di Ricerca Operativa Estratto per la parte di programmazione lineare e ottimizzazione sui grafi Corso di Metodi di Ottimizzazione per l'ingegneria della Sicurezza Laurea Magistrale in Ingegneria

Dettagli

Tecniche Algoritmiche: divide et impera

Tecniche Algoritmiche: divide et impera Tecniche Algoritmiche: divide et impera Una breve presentazione F. Damiani - Alg. & Lab. 04/05 Divide et impera (o Divide and conquer) Per regnare occorre tenere divisi i nemici e trarne vantaggio F. Damiani

Dettagli

Introduzione ai grafi. Introduzione ai grafi p. 1/2

Introduzione 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

Dettagli

Grafi diretti. Un grafo diretto (o grafo orientato) G è una coppia (V,E) dove. V è u n i n s i e m e d i nodi (o vertici);

Grafi diretti. Un grafo diretto (o grafo orientato) G è una coppia (V,E) dove. V è u n i n s i e m e d i nodi (o vertici); Algoritmi e Strutture di Dati II 2 Grafi diretti Un grafo diretto (o grafo orientato) G è una coppia (V,E) dove V è u n i n s i e m e d i nodi (o vertici); E µ V V è u n i n s i e m e d i archi. Denotiamo

Dettagli

Gli insiemi e le relazioni. Elementi di logica

Gli insiemi e le relazioni. Elementi di logica capitolo 1 Gli insiemi e le relazioni. Elementi di logica INSIEMI 1. Introduzione 1 2. Sottoinsiemi 3 3. Operazioni tra insiemi 5 Unione:, 5 Intersezione:, 5 Differenza: \, 5 Insieme complementare: A B,

Dettagli

Introduzione ai grafi

Introduzione ai grafi TFA A048 Anno Accademico 2012-13 Outline Cenni storici sui grafi Nozioni introduttive: cammini, connessione, alberi, cicli Cammini di costo minimo Origini storiche La nascita della teoria dei grafi risale

Dettagli