Temario de la asignatura
Estos bloques orientan el estudio. Adaptamos las clases al programa y al material que estés trabajando.
1
Introduction to algorithms and data structures
- Role of algorithms in computing
- Data models and basic data structures
2
Big O notation and algorithm efficiency
- Running time
- Asymptotic analysis
3
Search algorithms
- Search strategies
- Correctness and efficiency
4
Sorting algorithms
- Comparison-based sorting
- Performance analysis
5
Divide and conquer with recursion
- Recursive problem decomposition
- Divide-and-conquer algorithms
6
Hash tables and key-based access
- Hash functions
- Collisions and lookup operations
7
Object-oriented programming for data structures
- Classes and objects
- Encapsulation of data and operations
8
Trees, stacks and queues
- Hierarchical and linear structures
- Core operations and use cases
9
Graphs and weighted graphs
- Graph representation
- Weights and graph modelling
10
Graph traversal algorithms
- Systematic graph exploration
- Traversal behaviour and applications
11
Greedy algorithm design
- Local-choice strategy
- Conditions for greedy solutions
12
Dynamic programming
- Overlapping subproblems
- Building and reusing partial solutions
