Personal repository for the second part of the Advanced Programming and Algorithmic Design course of Data Science and Scientific Computing MSc @ UniTS and SISSA by Prof. Alberto Casagrande.
CFU: 12.
Objective: Introducing the modern technology of algorithms development.
Content: Algorithms and data structure. Definition of algorithm. Computational model. Asymptotic analysis. Basic data structure. Sorting algorithms. Select problem. Matrix multiplication. Graphs: definition, reachability, depth-first and breath-first visits. Strongly connected components and topological sort. Graph transitive closure. Single source shortest path problem. All-pairs-shortest-path problem. Routing problem. Pattern matching problem. Suffix trees and suffix array.
Course Book: Introduction to Algorithms, Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest and Clifford Stein, 2013.