- Docente: Gabriele D'Angelo
- Credits: 5
- SSD: INF/01
- Language: English
- Moduli: Gabriele D'Angelo (Modulo 1) Marco Vassura (Modulo 2)
- Teaching Mode: Traditional lectures (Modulo 1) Traditional lectures (Modulo 2)
- Campus: Bologna
- Corso: Second cycle degree programme (LS) in Bioinformatics (cod. 0443)
Learning outcomes
Design and analysis of correct and efficient algorithms and data
structures.
At the end of the course, the student has basic knowledge on
algorithms and data structures.
In particular, the student will be able to:
- Design correct and efficient algorithm for common computational tasks.
- Analyze existing algorithms and data structures.
- Design and analyze new algorithms and data structures.
Course contents
Data structures: arrays, records, lists, stacks, queues,
trees, tree visits, sets, dictionaries, binary search, hash tables,
priority queues, heap, heapsort, balanced search trees, MFSET,
graphs, DFS and BFS.
Design and analysis of algorithms: computational complexity,
order of growth, recurrence equations, lower bounds. Design
techniques: divide-&-conquer, backtrack, greedy, local search,
dynamic programming. Sorting: mergesort, quicksort,
shellsort.
Readings/Bibliography
Introduction to Algorithms, Second Edition.
Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford
Stein.
Teaching methods
Lessons and laboratory activities.
Assessment methods
Written test and oral examination.
Teaching tools
The slides and pseudo code used during the lessons will be available on the official web site of the course.
Links to further information
http://www.cs.unibo.it/~gdangelo/
Office hours
See the website of Gabriele D'Angelo
See the website of Marco Vassura