- Docente: Luciano Bononi
- Credits: 10
- SSD: INF/01
- Language: English
- Teaching Mode: Traditional lectures
- Campus: Bologna
- Corso: Second cycle degree programme (LM) in Bioinformatics (cod. 8020)
Learning outcomes
At the end of the course, the student has the basic knowledge 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.
Course contents
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.
Readings/Bibliography
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.
Teaching methods
Class lessons.
Live exercises in class.
Homeworks.
Assessment methods
Written and oral exam.
Facultative project.
Teaching tools
Electronic slides and projector.
Personal computer.
Black board.
Links to further information
http://www.cs.unibo.it/~bononi/
Office hours
See the website of Luciano Bononi