Corso Vittorio Emanuele II, 39 - Roma 0669207671

Ingegneria informatica (Ακαδημαϊκό έτος 2018/2019) - Ingegneria Informatica (ad esaurimento)

Algoritmi e programmazione avanzata



Διαφάνειες

ν. μαθήματος 1: C avanzato
   Introduzione al corso

   L'ambiente di sviluppo

   I puntatori

   Aritmetica dei puntatori

   Puntatori e vettori

   Puntatori e struct
Πηγαίνετε σε αυτή τη διαφάνεια Massimo Poncino
ν. μαθήματος 2: Allocazione dinamica della memoria
   Allocazione dinamica della memoria

   Funzione malloc

   Funzione free

   Funzioni calloc, realloc

   Modello di memoria

   Problemi di uso errato
Πηγαίνετε σε αυτή τη διαφάνεια Massimo Poncino
ν. μαθήματος 3: Ricorsione e programmi ricorsivi
   Definizione e motivazioni

   Analisi di funzioni ricorsive

   Ricorsione ed efficienza
Πηγαίνετε σε αυτή τη διαφάνεια Massimo Poncino
ν. μαθήματος 4: Programmazione modulare
   Gestione di progetti

   Regole di visibilità

   File di intestazione
Πηγαίνετε σε αυτή τη διαφάνεια Massimo Poncino
ν. μαθήματος 5: Liste lineari I
   Proprietà e limitazioni della rappresentazione tramite vettori

   Liste lineari

   Implementazione

   Varianti di liste
Πηγαίνετε σε αυτή τη διαφάνεια Massimo Poncino
ν. μαθήματος 6: Liste lineari II
   Primitive di gestione delle liste

   Implementazione in C

   Inizializzazione

   Ricerca

   Visita

   Inserimento

   Cancellazione
Πηγαίνετε σε αυτή τη διαφάνεια Massimo Poncino
ν. μαθήματος 7: Tipo di dato astratti I - pile e code
   Tipi di dato astratti

   L'ADT pila (stack)

   L'ADT coda
Πηγαίνετε σε αυτή τη διαφάνεια Massimo Poncino
ν. μαθήματος 8: Tipo di dato astratti II - code a priorità e alberi
   L'ADT coda a priorità

   Heap

   L'ADT Albero
Πηγαίνετε σε αυτή τη διαφάνεια Massimo Poncino
ν. μαθήματος 9: Algoritmi - introduzione e definizioni
   Concetto di algoritmo

   Aspetti legati agli algoritmi

   Progetto di algoritmi

   Analisi di algoritmi

   Analisi di complessità
Πηγαίνετε σε αυτή τη διαφάνεια Massimo Poncino
ν. μαθήματος 10: Analisi di complessità
   Proprietà della notazione asintotica

   Dipendenza dagli input

   Esempio: ordinamento per inserimento

   Esempio: ricerca binaria
Πηγαίνετε σε αυτή τη διαφάνεια Massimo Poncino
ν. μαθήματος 11: Analisi di programmi ricorsivi: ricorrenze
   Ricorrenze

   Serie e sommatorie

   Soluzioni di ricorrenze

   Metodo della sostituzione

   Metodo iterativo

   Metodo principale
Πηγαίνετε σε αυτή τη διαφάνεια Massimo Poncino
ν. μαθήματος 12: Algoritmi di ordinamento I
   Definizioni e assunzioni

   Classi di algoritmi di ordinamento

   Heapsort

   Heapsort: esempio
Πηγαίνετε σε αυτή τη διαφάνεια Massimo Poncino
ν. μαθήματος 13: Algoritmi di ordinamento II
   Quicksort

   Quicksort: esempio

   Analisi del quicksort

   Limiti teorici
Πηγαίνετε σε αυτή τη διαφάνεια Massimo Poncino
ν. μαθήματος 14: Algoritmi di ordinamento III
   Algoritmi di ordinamento con complessità lineare

   Counting sort

   Counting sort: esempio

   Stabilità di un algoritmo di ordinamento

   Conclusioni sull'ordinamento
Πηγαίνετε σε αυτή τη διαφάνεια Massimo Poncino
ν. μαθήματος 15: Insiemi dinamici e dizionari
   Insiemi dinamici e dizionari

   Implementazione dei dizionari

   Alberi binari di ricerca (BST)

   Visite di un BST

   Ricerca in un BST
Πηγαίνετε σε αυτή τη διαφάνεια Massimo Poncino
ν. μαθήματος 16: Alberi binari di ricerca
   Inserimento in un BST

   Cancellazione in un BST

   Caso peggiore in un BST
Πηγαίνετε σε αυτή τη διαφάνεια Massimo Poncino
ν. μαθήματος 17: Tabelle Hash
   Tabelle ad accesso diretto

   Tabelle hash

   Funzioni di hash

   Gestione delle collisioni

   Concatenazione

   Indirizziamento aperto
Πηγαίνετε σε αυτή τη διαφάνεια Massimo Poncino
ν. μαθήματος 18: Paradigmi algoritmici: Programmazione dinamica
   Progetto di un algoritmo

   Programmazione dinamica

   Un esempio: il cambio di monete
Πηγαίνετε σε αυτή τη διαφάνεια Massimo Poncino
ν. μαθήματος 19: Paradigmi algoritmici II: Il paradigma Greedy
   Il paradigma greedy

   Esempi di algoritmi greedy

   Programmazione dinamica e algoritmi greedy
Πηγαίνετε σε αυτή τη διαφάνεια Massimo Poncino
ν. μαθήματος 20: Paradigmi algoritmici III: Backtracking
   Paradigmi basati su ricerca

   Spazio delle soluzioni

   Backtracking

   Esempio
Πηγαίνετε σε αυτή τη διαφάνεια Massimo Poncino
ν. μαθήματος 21: I Grafi - Prima parte
   I grafi

   Definizioni e proprietà

   Rappresentazioni dei grafi
Πηγαίνετε σε αυτή τη διαφάνεια Massimo Poncino
ν. μαθήματος 22: I Grafi - Seconda parte
   L'ADT grafo

   Visite di grafi

   Algoritmo di visita generico
Πηγαίνετε σε αυτή τη διαφάνεια Massimo Poncino
ν. μαθήματος 23: Visite di grafi
   Visita in ampiezza

   Visita in profondità

   Etichette temporali

   Applicazioni
Πηγαίνετε σε αυτή τη διαφάνεια Massimo Poncino
ν. μαθήματος 24: Alberi di copertura minimi
   Alberi di copertura minimi

   Algoritmo generico

   Definizioni

   Algoritmo di Kruskal
Πηγαίνετε σε αυτή τη διαφάνεια Massimo Poncino
ν. μαθήματος 25: Percorsi minimi in un grafo
   Definizioni e proprietà

   Rilassamento

   Algoritmo di Dijkstra

   Algoritmo di Bellman-Ford
Πηγαίνετε σε αυτή τη διαφάνεια Massimo Poncino
ν. μαθήματος 26: Teoria della complessità
   Problemi intrattabili

   Problemi di decisione

   Nondeterminismo

   Problemi P e NP
Πηγαίνετε σε αυτή τη διαφάνεια Massimo Poncino
ν. μαθήματος 27: NP completezza e algoritmi approssimati
   Riducibilità

   Problemi NP-completi e NP-hard

   Problemi NP-completi classici

   Algoritmi approssimati ed euristiche
Πηγαίνετε σε αυτή τη διαφάνεια Massimo Poncino