Il corso prosegue quanto appreso nel corso di Introduzione agli Algoritmi, affrontando come nuovi argomenti tematiche come:
-
Elementi di teoria dei grafi, approfondendo quanto iniziato durante il corso sopra riportato.
-
Algoritmi Greedy, ovvero serie di istruzioni il cui flusso prosegue in base alla scelta migliore che si possa fare in quel momento, senza considerare il quadro generale.
-
Algoritmi Divide et Impera, dove invece l'obbiettivo è quello di risolvere un problema complesso suddividendolo in sottoproblemi più semplici (risolvendo questi ultimi e combinando le soluzioni per ottenere quella del problema originale)
-
Programmazione Dinamica, dove oltre a suddividere il problema in sottoproblemi vengono memorizzate le soluzioni ricorrenti al fine di aumentare l'efficienza.
Note
per avere un'idea più precisa è possibile consultare il programma ufficiale
-
E. Horowitz, S. Sahni Fundamentals of Computer Algorithms Computer Science Press
-
J. Kleimberg, E. Tardos Algorithm Design Addison Wesley, 2005
-
C. Demetrescu, I. Finocchi, G.F. Italiano Algoritmi e Strutture di Dati. MacGraw-Hill 2010
-
P. Crescenzi, G. Gambosi, R. Grossi, G. Rossi Strutture di dati e algoritmi. Pearson 2012
È possibile accedere a tutte le risorse usate durante le lezioni qui
È possibile esercitarsi con gli esercizi assegnati durante le lezioni nella rispettiva repository di Sapienza Students Network.