The focus of the subject is to learn and understand in depth the theory and practical use of some algorithms techniques, such as:
- Divide and Conquer
- Greedy and their advantages and disadvantages when using them.
- Dynamic Programming with some well-known problems, like the Knapsack problem, Subset Sum, etc.
- Backtracking and the resolution of the N-queens, K-Coloring, etc.
- Flow Networks by the use of Ford-Fulkerson algorithm.
Also, it introduce the Classes Complexity:
- P
- NP
- NP-Complete
- NP-Hard
- P-SPACE