Algorithms and Data Structures
The basics of algorithm analysis.
Fundamental abstract data types and data structures.
How the main data structures are used to solve real-world problems.
The fundamental algorithm design techniques, namely divide-and-conquer and memoization.
Several sorting algorithms, their features and application conditions.
To calculate the running time and the space requirements of a polynomial or exponential time algorithm.
To model programs using abstract data types.
To choose, compare, adapt and use suitable data structures for a given problem.
To implement data structures, in particular, using dynamic memory allocation.
To implement recursive polynomial time algorithms.
- Create a property management program using the appropriate data structures for best performance and readability, in Java.