Presentation Algorítmica i Complexitat
Universitat de Lleida. Departament d'Informàtica i Enginyeria Industrial
The course contents are divided into four teaching units: 1. The first aims to study the formal characterization of algorithms. We study how to formally specify with postconditions and preconditions and analyze the efficiency of algorithms using asymptotic notation for the study of temporal cost or runtime algorithms. 2. The second teaching unit aims to study formal verification techniques applied to recursive algorithms and iterative algorithms, and the study of transformation techniques for recursive algorithms. 3. The third teaching unit aims the study of algorithmic schemes, i.e., by analyzing, designing and implementing algorithms to solve a set of problems. The algorithmic schemes to study are four: divide and conquer, greedy, dynamic programming and backtracking. 4. A different approach is considering all algorithms that can solve a particular problem. This approach is the one considered in the field of Computational Complexity, which will be briefly introduced in the last teaching unit.