Intro
Intro
Roberto Cordone
DI - Università degli Studi di Milano
Il modulo consiste in
• 16 lezioni alternativamente da 2 e da 3 ore
che per l’emergenza in atto verranno
• trasmesse online in modo sincrono
• videoregistrate e rese disponibili sul sito Ariel del corso
2/8
Modalità d’esame (1)
Testo e data di scadenza sono pubblicati sulla pagina web del laboratorio
C’è anche un file di indicazioni utili dettagliate
3/8
Modalità d’esame (2)
Entro la data di scadenza occorre spedire al docente di laboratorio
• il codice (in C) adeguatamente commentato
• una relazione (in PDF) che descriva:
1 modello: descrizione motivata degli oggetti matematici usati per
descrivere il problema
2 algoritmo: descrizione e pseudocodice dell’algoritmo risolutivo,
analisi della sua complessità computazionale (tempo e spazio)
3 programma: aspetti tecnici legati al linguaggio (solo se importanti)
4/8
Programma
• Algoritmi e programmi
• Definizione e valutazione di complessità asintotica
• Richiami di programmazione in C
• Strutture dati e algoritmi elementari:
• vettori, tabelle, stringhe e record
• liste concatenate
• algoritmi di ordinamento
• Strutture dati e algoritmi avanzati:
• grafi: algoritmi di visita e componenti connesse
• alberi di ricerca: algoritmi di costruzione e modifica
• strutture per union/find: gestione di partizioni
• code con priorità
• algoritmi di divide-et-impera
• algoritmi di programmazione dinamica
• algoritmi greedy
5/8
Materiali di riferimento (1)
6/8
Materiali di riferimento (2)
7/8
Strumenti di laboratorio
È sufficiente un compilatore C
• in ambiente Linux, gcc è installato su tutte le distribuzioni
• in ambiente Windows,
• MinGW include una versione (datata) di gcc
https://www.cs.colorado.edu/~main/bgi/cs1300/
• durante le lezioni userò Dev-C++ senza interfaccia
• per valutare il progetto userò Visual Studio Express
8/8