Skip to content

Latest commit

 

History

History
49 lines (36 loc) · 2.62 KB

File metadata and controls

49 lines (36 loc) · 2.62 KB

Algorithm Design and Analysis -> Java

This repository aims to expose my resolutions of the exercises proposed by the subject 'Algorithm Design and Analysis', as well as its statements. In each folder are available the statements and my respective resolutions that were accepted by Mooshak.


Programming Language:


python



Link to the course:

This course is part of the second semester of the second year of the Bachelor's Degree in Artificial Intelligence and Data Science at FCUP and FEUP in the academic year 2023/2024. You can find more information about this course at the following link:



Objectives of this course:

  1. Asymptotic analysis of algorithms: Big O notation (O, Ω and Θ), execution time estimates, analysis of iterative and recursive programs;
  2. Sorting: sorting as a basic part of other algorithms, comparative and non-comparative algorithms, binary search and direct and indirect applications;
  3. Algorithm design techniques: exhaustive search, greedy algorithms, divide-and-conquer, dynamic programming;
  4. Some specialized data structures: priority queues, disjoint sets;
  5. Balanced binary search trees: Red-Black trees.
  6. Graph algorithms: graph representation, depth and breadth searches, minimum cost support tree, minimum distances, maximum flow.
  7. Computationally difficult problems. Brief introduction to the complexity classes of P, NP, NP-hard and NP-Complete problems. Introduction to approximation and parametric algorithms.