Вы находитесь на странице: 1из 2

PROVA 1 DE ESTRUTURAS DISCRETAS

DURAÇÃO: 1h 50m

1. (1.5pt) Prove por indução que a soma dos n primeiros ı́mpares positivos é igual a n2 para todo n ≥ 1.

2. (2.0pt) Prove por idução que


m  
Y 1
1+ ≤m+1
i=1
i
, para todo m ≥ 1.

3. (2.0) O nı́vel de um nó v em uma árvore é definido como o número de nós do caminho entre o pai de v e a raiz
da árvore. Note que o nı́vel da raı́z é definido como 0. Para uma árvore estritamente binária T , seja EP (T ) a
soma dos nı́veis das folhas de T . Prove por indução que para toda árvore estritamente binária T , com n ≥ 1
folhas, EP (T ) ≤ n2 . Exiba a base, o passo e a prova do passo. Lembre que uma árvore estritamente binária é
uma árvore binária onde todo nó tem 0 ou 2 filhos.

4. (2pt) Seja L uma lista de n números distintos. Um par de ı́ndices (i, j), com 1 ≤ i < j ≤ n, é uma inversão em
L se o número da posição i é maior que o número da posição j. Como exemplo, (2, 4) é uma inversão na lista
(18,5,14,1,9) ja que 5 > 1. Considere o seguinte algoritmo para calcular o número de inversões de uma lista L.
CalculaInvers~
ao(L)
Se L só tem um elemento
Return 0
Senão
k ← d|L|/2e.
Conte o total de inversões (i, j) em L tal que i ≤ k e j > k. Armazene o total em tot0 .
L1 ← lista com os k primeiros números de L
L2 ← lista obtida removendo os k primeiros números de L.
tot1 ← CalculaInversão(L1 )
tot2 ← CalculaInversão(L2 )
Return tot0 + tot1 + tot2
Fim Se

a) Quantas inversões o algoritmo retorna quando a lista de entrada é L = (2, 6, 1, 5, 3)?

b) Prove por indução que o algoritmo calcula corretamente o número de inversões de qualquer lista L de n
números distintos para todo n ≥ 1. Exiba a base, o passo e a prova do passo.

1
5. (2.5pt) Considere o procedimento P roc(n) abaixo e seja T (n) o número de vezes que o procedimento imprime
0
OI 0 ao ser chamado com parâmetro n.
Proc(n)
Se n = 1
PRINT(’OI’);
PRINT(’OI’);
PRINT(’OI’);
Senão
PRINT(’OI’);
PRINT(’OI’);
Para i = 1 até n − 1
Proc(i)
Fim Para
Fim
a) Calcule T (5).
b) Ache uma equação de recorrência relacionando T (n) com T (1), T (2), . . . , T (n − 1)
c) Mostre por indução que T (n) ≤ 3n para todo n ≥ 1. Exiba a base, o passo e a prova do passo.

Fatos úteis
1. A soma dos termos de uma progressão geométrica de n termos cujo primeiro termo é a1 e a razão é q é igual
a1 (q n −1)
a q−1

2. Seja f (x) = ax2 + bx + c, onde a > 0. Então o máximo de f (x) no intervalo [l, u] é atingido ou quando x = l
ou x = u.