diff --git a/slides/slides-pt.typ b/slides/slides-pt.typ index a72fe47..85146b1 100644 --- a/slides/slides-pt.typ +++ b/slides/slides-pt.typ @@ -28,6 +28,7 @@ Blank space can be filled with vertical spaces like #v(1fr). #align(horizon + center)[#image("images/cc-zero.svg", width: 80%)] == Links + #align(horizon + center)[ Todos os links estão em #text(blue)[azul]. @@ -40,6 +41,8 @@ Blank space can be filled with vertical spaces like #v(1fr). = Por que estudar Teoria dos Grafos e Complexidade Computacional? +== + #align(horizon + center)[#image( "images/algorithm_analysis_meme.jpg", width: 50%, @@ -144,6 +147,8 @@ Blank space can be filled with vertical spaces like #v(1fr). = Grafos +== + #align(horizon + center)[#image( "images/graph_isomorphism_meme.jpg", width: 50%, @@ -651,6 +656,8 @@ delas), retornando à cidade de origem. = Árvores +== + #align(horizon + center)[#image("images/trees_meme.jpg", width: 50%)] == O que são Árvores? @@ -839,6 +846,8 @@ e direita é no máximo 1. = Interlúdio: Funções Polinomiais e Exponenciais +== + #align(horizon + center)[#image("images/polynomials_meme.jpg", width: 50%)] == Funções Polinomiais @@ -918,6 +927,8 @@ e direita é no máximo 1. = Complexidade Computacional +== + #align(horizon + center)[#image("images/big_o_meme.jpg", width: 45%)] == Definição @@ -1095,6 +1106,8 @@ proposicional pode ser tornada verdadeira* por meio de uma atribuição adequada = Identificando a Complexidade de Algoritmos +== + #align(horizon + center)[#image( "images/recursion_joker_debugging_meme.jpg", width: 80%, @@ -1356,6 +1369,8 @@ proposicional pode ser tornada verdadeira* por meio de uma atribuição adequada = Interlúdio: Analisando a Complexidade de Algoritmos com Código C +== + #align(horizon + center)[#image("images/programming_meme.jpg", width: 50%)] #pagebreak() @@ -1698,6 +1713,8 @@ proposicional pode ser tornada verdadeira* por meio de uma atribuição adequada = Algoritmos de Busca +== + #align(horizon + center)[#image( "images/search_algorithms_meme.png", width: 100%, @@ -2179,6 +2196,8 @@ proposicional pode ser tornada verdadeira* por meio de uma atribuição adequada = Algoritmos de Ordenação +== + #align(horizon + center)[ #image( "images/sorting_algorithms_meme.jpg", @@ -3178,6 +3197,8 @@ proposicional pode ser tornada verdadeira* por meio de uma atribuição adequada = Recursão +== + #align(horizon + center)[ #image( "images/recursion_meme.jpg", @@ -3228,6 +3249,16 @@ proposicional pode ser tornada verdadeira* por meio de uma atribuição adequada return n * fatorial(n - 1); } ``` + + #pagebreak() + + - *Bonus: Implementação em Haskell*: + + ```haskell + fatorial :: Int -> Int + fatorial 0 = 1 + fatorial n = n * fatorial (n - 1) + ``` ] == Visualização da Recursão do Fatorial @@ -3408,6 +3439,8 @@ proposicional pode ser tornada verdadeira* por meio de uma atribuição adequada = Divisão e Conquista +== + #align(horizon + center)[ #image( "images/divide_and_conquer_meme.png", diff --git a/slides/slides.typ b/slides/slides.typ index c29522b..87d9a0b 100644 --- a/slides/slides.typ +++ b/slides/slides.typ @@ -40,6 +40,8 @@ Blank space can be filled with vertical spaces like #v(1fr). = Why study Graph Theory and Computational Complexity? +== + #align(horizon + center)[#image( "images/algorithm_analysis_meme.jpg", width: 50%, @@ -143,6 +145,8 @@ Blank space can be filled with vertical spaces like #v(1fr). = Graphs +== + #align(horizon + center)[#image( "images/graph_isomorphism_meme.jpg", width: 50%, @@ -647,6 +651,8 @@ returning to the starting city. = Trees +== + #align(horizon + center)[#image("images/trees_meme.jpg", width: 50%)] == What are Trees? @@ -835,6 +841,8 @@ subtrees is at most 1. = Interlude: Polynomial and Exponential Functions +== + #align(horizon + center)[#image("images/polynomials_meme.jpg", width: 50%)] == Polynomial Functions @@ -915,6 +923,8 @@ subtrees is at most 1. = Computational Complexity +== + #align(horizon + center)[#image("images/big_o_meme.jpg", width: 45%)] == Definition @@ -1092,6 +1102,8 @@ subtrees is at most 1. = Identifying Algorithm Complexity +== + #align(horizon + center)[#image( "images/recursion_joker_debugging_meme.jpg", width: 80%, @@ -1353,6 +1365,8 @@ subtrees is at most 1. = Interlude: Analyzing Algorithm Complexity using C Code +== + #align(horizon + center)[#image("images/programming_meme.jpg", width: 50%)] #pagebreak() @@ -1692,6 +1706,8 @@ subtrees is at most 1. = Search Algorithms +== + #align(horizon + center)[#image( "images/search_algorithms_meme.png", width: 100%, @@ -2159,6 +2175,8 @@ subtrees is at most 1. = Sorting Algorithms +== + #align(horizon + center)[ #image( "images/sorting_algorithms_meme.jpg", @@ -3157,6 +3175,8 @@ subtrees is at most 1. = Recursion +== + #align(horizon + center)[ #image( "images/recursion_meme.jpg", @@ -3207,6 +3227,16 @@ subtrees is at most 1. return n * factorial(n - 1); } ``` + + #pagebreak() + + - *Bonus: Implementation in Haskell*: + + ```haskell + fatorial :: Int -> Int + fatorial 0 = 1 + fatorial n = n * fatorial (n - 1) + ``` ] == Visualization of Factorial Recursion @@ -3385,6 +3415,8 @@ subtrees is at most 1. = Divide and Conquer +== + #align(horizon + center)[ #image( "images/divide_and_conquer_meme.png",