160 likes | 319 Views
Algoritmi e Strutture dati a.a. 2013/2014 Informazioni sul corso. Dr Maria Federico. Informazioni docente. E-mail docente: fdrmra@unife.it Ricevimento:
E N D
Algoritmi e Strutture dati a.a. 2013/2014Informazioni sul corso Dr Maria Federico
Informazioni docente E-mail docente:fdrmra@unife.it Ricevimento: Mercoledì 15:00-16:00 presso ufficio docenti a contratto (3° piano), Dipartimento di Matematica e Informatica, Campus scientifico tecnologico Blocco Bvia Saragat 1 Su appuntamento (inviare e-mail) Università degli studi di Ferrara Maria Federico
Informazioni lezioni Martedì, Mercoledì 16:30-18:30 Giovedì 14:30-17:30 (7 ore a settimana) Aula F6 1 Ottobre 2013 – 17 Dicembre 2014 (80 ore, 10 CFU per Informatica) 1 Ottobre 2013 – 14 Novembre 2014 (48 ore, 6 CFU per Matematica) Università degli studi di Ferrara Maria Federico
Perché un corso di algoritmi e strutture dati? “Prima dei calcolatori c’erano già gli algoritmi. Ma adesso che ci sono i calcolatori, ci sono più algoritmi e gli algoritmi sono il cuore del calcolo.” (Prefazione Introduzione agli algoritmi e strutture dati 3/ed, Cormen et al. 2010) Lo studio degli algoritmi costituisce la base dell’informatica perché prima che un computer esegua qualsiasi attività è necessario fornirgli un algoritmo che gli indichi esattamente cosa fare Università degli studi di Ferrara Maria Federico
Processo di sviluppo di un programma • Specifica funzionale del problema • Analisidel problema e definizione di un algoritmorisolutivo • Descrizione con diagramma di flusso e/o pseudocodice • Traduzione dell’algoritmo in programma in linguaggio di programmazione ad alto livello • Compilazione • Esecuzione e Verifica
Cosa studieremo • Algoritmi = descrizione precisa di una sequenza di azioni che devono essere eseguite per giungere alla risoluzione di un problema • Sintesi / disegno / progetto • Analisi dell’efficienza • Strutture dati =è fondamentale che i dati siano ben organizzati e strutturati in modo che l’algoritmo li possa elaborare efficientemente Università degli studi di Ferrara Maria Federico
Materiale didattico Libro di testo Titolo: Introduzione agli algoritmi e strutture dati 3/ed Autori: Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein ISBN: 9788838665158Pub Date: Giugno 2010Pagine: 1030 Università degli studi di Ferrara Maria Federico
Materiale didattico Libro di riferimento Titolo: Strutture di dati e algoritmi. Progettazione, analisi e visualizzazioneAutori: Pierluigi Crescenzi, Giorgio Gambosi, Roberto GrossiISBN: 9788871922737 Pub Date: 2006 Pagine: 384 Università degli studi di Ferrara Maria Federico
Materiale didattico Slide e altro materiale presentato a lezione Reperibili sulla pagina del corso http://www.unife.it/scienze/informatica/insegnamenti/algoritmi-strutture-dati Sulla home page del docente http://algogroup.unimore.it/people/maria/algoritmi_2013-2014.html Università degli studi di Ferrara Maria Federico
Propedeuticità • Istituzioni di matematica • Programmazione e laboratorio • Sono consigliati come propedeutici, anche se non costituiscono prerequisito formale Università degli studi di Ferrara Maria Federico
Programma del corso • Introduzione al corso[1, 2] • Definizione di problema, algoritmo, rappresentazione di algoritmi, sintesi e analisi di algoritmi, strutture dati • Complessità computazionale [3, 4-(4.2, 4.6)] • Analisi asintotica, calcolo complessità algoritmi iterativi, metodi di risoluzione delle relazioni di ricorrenza per algoritmi ricorsivi, classificazione problemi e NP-completezza (cenni) [34.1, 1 Crescenzi] Università degli studi di Ferrara Maria Federico
Programma del corso • Strutture dati statiche[slide; 2.1 Crescenzi] • Array, record • Algoritmi di ordinamento su array • Iterativi: selection sort, insertion sort, bubble sort [2 Cormen + 2.2 Crescenzi)] • Ricorsivi: merge sort, quick sort[4, 7-(7.3); 2.5 Crescenzi] • Tempo lineare: Counting sort, Radix sort, Bucket sort[8] • Algoritmi di ricerca su array [2.4 Crescenzi] • Ricerca lineare, ricerca binaria Università degli studi di Ferrara Maria Federico
Programma del corso • Heap e code con priorità[6; 8.1 e 8.2 Crescenzi] • Operazioni su heap, Heapsort • Strutture dati dinamiche [10, appendici B.4 e B.5; 3.1, 7.1, 7.3 Crescenzi] • Pile, code, liste, grafi, alberi • Algoritmi su alberi binari [12-(12.4); 4.1, 5.4 Crescenzi] • Visita (con generalizzazione ad albero n-ario), ricerca e modifica per alberi binari di ricerca Università degli studi di Ferrara Maria Federico
Programma del corso • Algoritmi su grafi[*21-(21.4); 22-(22.5), 23, *24-(24.5, 24.6); 7.4, 7.5.1 Crescenzi] • Visita DFS e BFS, ordinamento topologico, algoritmi di Kruskal, Prim, Dijkstra, Bellman-Ford • Hashing [*11] • Tabelle hash, funzioni hash, indirizzamento diretto e aperto • Programmazione dinamica [15-(15.4,15.5)] • Algoritmi golosi [16.1, 16.2] * Le dimostrazioni non sono richieste Università degli studi di Ferrara Maria Federico
Esame È obbligatoria l’iscrizione on-line tramite il sito studiare UNIFE • Prova scritta • 4 esercizi • Disegno di algoritmi • Analisi di algoritmi • Applicazione di algoritmi visti a lezione • Operazioni su strutture dati • Prova orale • Può riguardare qualunque argomento trattato a lezione • è volta a verificare la padronanza dei concetti e delle tecniche oggetto dell'insegnamento durante la prova scritta NON si possono usare appunti, libri, calcolatrici, cellulari, etc. Università degli studi di Ferrara Maria Federico
Domande? Università degli studi di Ferrara Maria Federico