29526 - ALGORITHMS AND DATA STRUCTURES

Academic Year 2008/2009

  • 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 (LM) in Bioinformatics (cod. 8020)

Learning outcomes

Course aims: Design and analysis of correct and efficient algorithms and data structures. At the end of the course,students will have basic knowledge on algorithms and data structures. In particular, students 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.

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/asdBIOinf.html

Office hours

See the website of Gabriele D'Angelo

See the website of Marco Vassura