Escolar Documentos
Profissional Documentos
Cultura Documentos
Matemática Concreta
Fundamentos para
Ciência da Computação
2ª Edição
T(n) =
Recursão
T(n) = T(n-1) +
Recursão
T(n) = T(n-1) + 1 +
Recursão
T(1) + 1 = 2
T(n) + 1 = 2 T(n-1) + 2
U(n) = 2n T(n) = 2n - 1
Recursão
Nova regra: não pode mover direto entre A e C
A B C
A B C
T(n) =
Recursão
A B C
T(n) = T(n-1) +
Recursão
A B C
T(n) = T(n-1) + 1 +
Recursão
A B C
A B C
A B C
T(1) + 1 = 3
T(n) + 1 = 3 T(n-1) + 3
U(n) = 3n T(n) = 3n - 1
Recursão
Em quantas regiões (no máximo), pode-se dividir uma pizza (ou
o plano)com n retas?
L(0)=1
L(1)=2
L(2)=4
L(3)=7
L(4)=11
Recursão
L(0) = 1
L(n) = L(n-1) + n
Substituindo temos:
L(n) = 1 + 1 + 2 + 3 + 4 + ... + n
L(n) = 1 + n (n + 1)/2
Recursão
Em quantas regiões fechadas, pode-se dividir o plano com n
retas?
Recursão
Durante a guerra entre judeus e romanos, 11 rebeldes judeus
foram encurralados em uma caverna. Preferindo se matar a
serem capturados. Decidiram formar um círculo e matar cada
terceira pessoa até não sobrar ninguém. Mas Flavius Josefus não
queria saber do pacto suicida, então calculou rapidamente onde
deveriar ficar.
Recursão
Recursão
Nova regra: eliminamos cada segunda pessoa.
Recursão
1
11 2
10 3
9 4
8 5
7 6
Recursão
Alguma idéia para calcular o problema recursivamente?
Recursão
1
11 2
10 3
9 4
8 5
7 6
Recursão
3
Portanto:
J(2n+1) = 2 J(n) + 1
Isto é:
J(2n+1) =
novoNumero( J(n) ) 11 5
novoNumero(k) = 2k+1
9 7
Recursão
J(1) = 1
J(2n) = 2 J(n) -1, n≥1
J(2n+1) = 2 J(n) + 1 , n≥1
n 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
J(n) 1 1 3 1 3 5 7 1 3 5 7 9 11 13 15
n 1 10 11 100 101 110 111 1000 1001 1010 1011 1100 1101 1110 1111
J(n) 1 1 3 1 3 5 7 1 3 5 7 9 11 13 15
J(n) = J(2m+k) = 2k +1
Ω(g) = { f | g ∈ O(f) }
ω(g) = { f | g ∈ o(f) }
( )
f ∼ g ↔ | lim = 1
→ ( )
1 2
= 1+ + + = 1+ +
Quicksort
2
=1+ + Multiplicando por n
= + +2 Substituindo n por n – 1
−1 = −1 + −1 +2 subtraindo
− −1 =2 +2
=2 + +1
Quicksort
=0
=2 + +1
Substituindo: =2 + 1 ℎ − 2
Obtemos: ℎ =0
1
ℎ = + ℎ