Algorithms & Data Structures (Lecture)

Instructors: Antonio Carzaniga

Academic Programs: Bachelor of Science in Informatics

Workload: 6 ECTS


Algorithms and data structures are fundamental to computer science. They are the essence of computer programs. The performance of any software system depends on the efficiency of its algorithms and data structures, and more generally, the study of algorithms provides insights into the nature of problems. This course provides students with the basic knowledge and skills necessary to design and reason about algorithms, and to understand the purpose as well as the strengths and weaknesses of some of the most fundamental algorithms and data structures. The course covers basic notions of: - complexity, asymptotic worst-case and average complexity, big-O notation, complexity classes; - general algorithmic strategies, brute force, greedy, divide-and-conquer, and dynamic programming; - common algorithms, searching and sorting, elementary graph algorithms, string matching; - basic data structures, stacks, queues, linked lists, rooted trees; - more advanced data structures, B-trees, heaps, hash tables.

Theory and Algorithms

Find out what can and cannot be computed, and how to compute it. More...

Gold sponsors:
Silver sponsor:
Con la collaborazione di: