Algorithms and Data Structures
A.Y. 2018/2019
Learning objectives
Il corso consiste di una parte di teoria e una di laboratorio. Obiettivo della prima parte è quello di presentare le strutture dati e gli algoritmi di base ponendo l'enfasi sui metodi di progettazione sull'analisi delle procedure. La parte di laboratorio ha invece come obiettivo la presentazione del linguaggio C e il suo utilizzo nella implementazione di strutture dati e algoritmi.
Expected learning outcomes
Undefined
Lesson period: First semester
Assessment methods: Esame
Assessment result: voto verbalizzato in trentesimi
Single course
This course cannot be attended as a single course. Please check our list of single courses to find the ones available for enrolment.
Course syllabus and organization
Milan
Responsible
Lesson period
First semester
Course syllabus
The concept of Algorithm. Algorithms and programs. Asymptotic notations. Algorithm complexity.
The RAM Machine.
Fundamental data structures: array, list, stack, queue, tree.
Search: sequential and binary search. Tree structures for search.
Hashing.
Elementary sorting techniques. Advanced sorting techniques (mergesort, heapsort, quicksort).
Sorting techiques not using comparisons.
Fundamental algorithmic techniques: divide-and-conquere, dynamic programming, greedy.
Graphs.
Fundamental problems and algorithms on graphs: minimum spanning tree, minimal paths in graphs.
Hard problems: nondeterministic algorithms and NP-completeness (an introduction).
A detailed list of topics presented in each lecture is published and updated on the course webpage.
The RAM Machine.
Fundamental data structures: array, list, stack, queue, tree.
Search: sequential and binary search. Tree structures for search.
Hashing.
Elementary sorting techniques. Advanced sorting techniques (mergesort, heapsort, quicksort).
Sorting techiques not using comparisons.
Fundamental algorithmic techniques: divide-and-conquere, dynamic programming, greedy.
Graphs.
Fundamental problems and algorithms on graphs: minimum spanning tree, minimal paths in graphs.
Hard problems: nondeterministic algorithms and NP-completeness (an introduction).
A detailed list of topics presented in each lecture is published and updated on the course webpage.
INF/01 - INFORMATICS - University credits: 12
Laboratories: 48 hours
Lessons: 72 hours
Lessons: 72 hours
Professors:
Lonati Violetta, Pighizzini Giovanni
Shifts:
Professor:
Pighizzini Giovanni
Parte seconda - turno unico
Professor:
Lonati ViolettaPrima parte - Turno A
Professor:
Lonati ViolettaPrima parte - Turno B
Professor:
Lonati ViolettaProfessor(s)