diff --git a/slides/slides-pt.typ b/slides/slides-pt.typ index d21cda3..24d3e82 100644 --- a/slides/slides-pt.typ +++ b/slides/slides-pt.typ @@ -2289,9 +2289,7 @@ proposicional pode ser tornada verdadeira* por meio de uma atribuição adequada supplement: [Algoritmo], caption: [_Bubble Sort_], text(size: 12pt)[ - #pseudocode-list( - title: smallcaps[Dado um _array_ $A$ de $n$ elementos:], - )[ + #pseudocode-list(title: smallcaps[Dado um _array_ $A$ de $n$ elementos:])[ + *para* $i$ de $0$ até $n - 1$: + *para* $j$ de $0$ até $n - i - 1$: + *se* $A[j] > A[j + 1]$: @@ -2373,9 +2371,7 @@ proposicional pode ser tornada verdadeira* por meio de uma atribuição adequada supplement: [Algoritmo], caption: [_Selection Sort_], text(size: 12pt)[ - #pseudocode-list( - title: smallcaps[Dado um _array_ $A$ de $n$ elementos:], - )[ + #pseudocode-list(title: smallcaps[Dado um _array_ $A$ de $n$ elementos:])[ + *para* $i$ de $0$ até $n - 1$: + $"minIdx" := i$ + *para* $j$ de $i + 1$ até $n$: @@ -2458,9 +2454,7 @@ proposicional pode ser tornada verdadeira* por meio de uma atribuição adequada supplement: [Algoritmo], caption: [_Insertion Sort_], text(size: 12pt)[ - #pseudocode-list( - title: smallcaps[Dado um _array_ $A$ de $n$ elementos:], - )[ + #pseudocode-list(title: smallcaps[Dado um _array_ $A$ de $n$ elementos:])[ + *para* $i$ de $1$ até $n - 1$: + $"key" := A[i]$ + $j := i - 1$ @@ -2787,9 +2781,7 @@ proposicional pode ser tornada verdadeira* por meio de uma atribuição adequada supplement: [Algoritmo], caption: [_Heap Sort_], text(size: 12pt)[ - #pseudocode-list( - title: smallcaps[Função heap_sort(_array_ A, n):], - )[ + #pseudocode-list(title: smallcaps[Função heap_sort(_array_ A, n):])[ + *para* $i$ de $n / 2 - 1$ até $0$: + heapify(A, n, i) + *para* $i$ de $n - 1$ até $0$: @@ -2916,9 +2908,7 @@ proposicional pode ser tornada verdadeira* por meio de uma atribuição adequada supplement: [Algoritmo], caption: [_Counting Sort_], text(size: 10pt)[ - #pseudocode-list( - title: smallcaps[Dado um _array_ $A$ de $n$ elementos:], - )[ + #pseudocode-list(title: smallcaps[Dado um _array_ $A$ de $n$ elementos:])[ + $max := "find_max"(A)$ + inicialize o _array_ de contagem $C[0..max]$ + *para* cada elemento em $A$: @@ -3014,9 +3004,7 @@ proposicional pode ser tornada verdadeira* por meio de uma atribuição adequada supplement: [Algoritmo], caption: [Radix Sort], text(size: 12pt)[ - #pseudocode-list( - title: smallcaps[Função radix_sort(_array_ A, n):], - )[ + #pseudocode-list(title: smallcaps[Função radix_sort(_array_ A, n):])[ + $max := "find_max"(A)$ + *para* $"exp" := 1$; $floor("max" / "exp") > 0$; $"exp" *= 10$: + $"counting_sort_by_digit"(A, n, "exp")$ @@ -4135,4 +4123,4 @@ proposicional pode ser tornada verdadeira* por meio de uma atribuição adequada - *Tarefa:* Implementar o algoritmo de LCS (Subsequência Comum Máxima) e analisar sua complexidade. - *Tarefa:* Resolver o Problema do Corte de Hastes usando programação dinâmica e comparar com a abordagem recursiva simples. - *Tarefa:* Identificar um problema real que pode ser otimizado usando programação dinâmica e desenvolver a solução. -] \ No newline at end of file +] diff --git a/slides/slides.typ b/slides/slides.typ index eee71cb..014a48a 100644 --- a/slides/slides.typ +++ b/slides/slides.typ @@ -2268,9 +2268,7 @@ subtrees is at most 1. supplement: [Algorithm], caption: [Bubble Sort], text(size: 12pt)[ - #pseudocode-list( - title: smallcaps[Given an array $A$ of $n$ elements:], - )[ + #pseudocode-list(title: smallcaps[Given an array $A$ of $n$ elements:])[ + *for* $i$ from $0$ to $n - 1$: + *for* $j$ from $0$ to $n - i - 1$: + *if* $A[j] > A[j + 1]$: @@ -2351,9 +2349,7 @@ subtrees is at most 1. supplement: [Algorithm], caption: [Selection Sort], text(size: 12pt)[ - #pseudocode-list( - title: smallcaps[Given an array $A$ of $n$ elements:], - )[ + #pseudocode-list(title: smallcaps[Given an array $A$ of $n$ elements:])[ + *for* $i$ from $0$ to $n - 1$: + $"minIdx" := i$ + *for* $j$ from $i + 1$ to $n$: @@ -2436,9 +2432,7 @@ subtrees is at most 1. supplement: [Algorithm], caption: [Insertion Sort], text(size: 12pt)[ - #pseudocode-list( - title: smallcaps[Given an array $A$ of $n$ elements:], - )[ + #pseudocode-list(title: smallcaps[Given an array $A$ of $n$ elements:])[ + *for* $i$ from $1$ to $n - 1$: + $"key" := A[i]$ + $j := i - 1$ @@ -2765,9 +2759,7 @@ subtrees is at most 1. supplement: [Algorithm], caption: [Heap Sort], text(size: 12pt)[ - #pseudocode-list( - title: smallcaps[Function heap_sort(array A, n):], - )[ + #pseudocode-list(title: smallcaps[Function heap_sort(array A, n):])[ + *for* $i$ from $n / 2 - 1$ down to $0$: + heapify(A, n, i) + *for* $i$ from $n - 1$ down to $0$: @@ -2894,9 +2886,7 @@ subtrees is at most 1. supplement: [Algorithm], caption: [Counting Sort], text(size: 10pt)[ - #pseudocode-list( - title: smallcaps[Given an array $A$ of $n$ elements:], - )[ + #pseudocode-list(title: smallcaps[Given an array $A$ of $n$ elements:])[ + $max := "find_max"(A)$ + initialize count array $C[0..max]$ + *for* each element in $A$: @@ -2992,9 +2982,7 @@ subtrees is at most 1. supplement: [Algorithm], caption: [Radix Sort], text(size: 12pt)[ - #pseudocode-list( - title: smallcaps[Function radix_sort(array A, n):], - )[ + #pseudocode-list(title: smallcaps[Function radix_sort(array A, n):])[ + $max := "find_max"(A)$ + *for* $"exp" := 1$; $floor("max" / "exp") > 0$; $"exp" *= 10$: + $"counting_sort_by_digit"(A, n, "exp")$ @@ -3480,9 +3468,7 @@ subtrees is at most 1. supplement: [Algorithm], caption: [Example of Recursion], text(size: 12pt)[ - #pseudocode-list( - title: smallcaps[Procedure $p$(input $x$ of size $n$)], - )[ + #pseudocode-list(title: smallcaps[Procedure $p$(input $x$ of size $n$)])[ + *if* $n < "some constant" k$: + solve $x$ directly, without recursion + *else*: @@ -4113,4 +4099,4 @@ subtrees is at most 1. - *Task*: Implement the LCS (Longest Common Subsequence) algorithm and analyze its complexity. - *Task*: Solve the Rod Cutting Problem using dynamic programming and compare with the simple recursive approach. - *Task*: Identify a real-world problem that can be optimized using dynamic programming and develop the solution. -] \ No newline at end of file +]