- Docente: Luciano Bononi
- Crediti formativi: 10
- SSD: INF/01
- Lingua di insegnamento: Inglese
- Modalità didattica: Convenzionale - Lezioni in presenza
- Campus: Bologna
- Corso: Laurea Magistrale in Bioinformatics (cod. 8020)
Conoscenze e abilità da conseguire
At the end of the course, the student has the basic Knoledge in design and analysis of correct and efficient algorithms and data structures. In particular, the student has basic knowledge on algorithms and data structures. 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.
Contenuti
Il corso viene tenuto completamente in lingua inglese. Introduction
to algorithms and basic data structures: definitions, algorithms,
simple data structures. Lists, arrays, simple operations, examples,
implementation. Complex data structures, computation efficiency and
data structures. Stacks and queues (definition, examples,
implementation). Trees, visit algorithms of a tree and tree
operations. Sets, dictionaries and hash tables, their operations
and implementation concepts. Graphs, visit algorithms for graphs,
operations and implementation concepts. Exercices and tests (
graphs and trees, priority queues and heaps).
Algorithms. Divide and conquer. Recursion. Greedy techniques
(knapsack problem, radix sorting problem, Huffman codes). Binary
search. Sorting algorithms. Complexity analysis of algorithms.
Exercises and tests.
Testi/Bibliografia
Electronic slides will be provided.
Suggested readings (not to be necessarily purchased).
Alfred V. Aho, Jeffrey D. Ullman, John E. Hopcroft. Data Structures
and Algorithms. Addison Wesley, 1983.
Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford
Stein. Introduction to Algorithms. McGraw-Hill, 2001.
Donald E. Knuth. The Art of Computer Programming, Volumes 1-3.
Addison-Wesley Professional, 1998.
S.B. Kishor Data Structures, Edition 3. Das Ganu Prakashan, Nagpur,
2008.
Metodi didattici
Lezioni frontali.
Esercitazioni in aula (semplici)
Esercitazioni homework.
Modalità di verifica e valutazione dell'apprendimento
Elaborato scritto e prova orale.
Progetto facoltativo.
Strumenti a supporto della didattica
Proiettore e slide elettroniche.
Personal computer.
Lavagna.
Link ad altre eventuali informazioni
http://www.cs.unibo.it/~bononi/
Orario di ricevimento
Consulta il sito web di Luciano Bononi