Sumários

T5

26 Março 2024, 16:30 João Pedro Guerreiro Neto


Problem Decomposition, divide and conquer, greedy algorithms. Using divide and conquer to reduce algorithmic complexity. Solving classical examples like Karatsuba multiplication, maximum sub-array, number of inversions, and finding nearest neighbors. Introducing greedy algorithms. The greedy choice property. Solving the fractional version of the Knapsack problem, task scheduling, interval coverage and Huffman coding

TP4

19 Março 2024, 18:30 João Pedro Guerreiro Neto


Exercises about membership algorithms and data structures.

T4

19 Março 2024, 16:30 João Pedro Guerreiro Neto


Membership algorithms and data structures (hashing, Bag dataset, Bloom Filters, Tries, Disjoint Sets).

TP3

12 Março 2024, 18:30 João Pedro Guerreiro Neto


Exercises with Graphs

T3

12 Março 2024, 16:30 João Pedro Guerreiro Neto


Graph algorithms: shortest path, cycle detection, transitive closure and reduction, coloring. Graphs as modelling tools. An application: solving 2-SAT as a graph problem.