Você está na página 1de 3

Q1

O algoritmo roda em tempo Theta(n lg n). As linhas dentro do repeat, em sua maioria,
consomem c1 . n lg n cada uma, as linhas dentro do for mas fora do repeat consomem c2 . n
cada uma, e as demais, c3 cada.

● -2.0: lg n
● -1.5: n
● -0.0: n lg n CORRETO
● -0.5: n^2
● -1.0: n^2 lg n
● -0.7: avaliou busca binária usando soma (1/2)^j
● -1.0: não colocou tempo gasto em cada linha
● -0.5: colocou tempo gasto errado nas linhas
● -0.5: não colocou total de tempo gasto
● -0.3: termos de menor crescimento na notação assintótica
● -0.3: fatores constantes na notação assintótica
● -0.5: afirmações errôneas sobre o pior caso
● -2.0: deixou indicado

Q2

Notar que (sqrt(2))^(lg n) = n^(lg(sqrt(2)) = n^(1/2) = sqrt(n), onde sqrt(x) = raix quadrada de x.
A função ln n é logaritmo natural de n, ou seja, log na base e de n. Difere de lg n por uma
constante multiplicativa. A ordem fica: 1, sqrt(lg n), ln n, sqrt(n), n, n lg n, n^2, 2^n, n 2^n.

A maioria dos alunos conseguiu criar uma lista muito próxima da correta. Na maioria dos
casos, bastava apenas mover uma, duas ou três funções um pouco para a esquerda ou para a
direta na lista para ficar certo. O critério então primordialmente baseou-se no número de tais
movimentos que eram necessários para acertar a lista. "Um passinho" significa mover uma
função à esquerda ou à direta 1 posição.

● -0.4: por cada passinho à direta ou à esquerda de uma função


● -2.0: se 5 ou mais passinhos seriam necessários

Além disso:

● -0.1: colocou lg n em vez de ln n na lista final


● -1.0: deixou uma função de fora da lista final

E também temos os prêmios de consolação:

● +0.1: acertou primeira função (f(n) = 1)


● +0.1: acertou última função (f(n) = n 2^n)

Q3
O mais comum aqui foi fazer 3 passos:

● (a) escrever como combinação de polinômios fatoriais:


j^4 - j^2 + 1 = j^(4) + 6 j^(3) + 6 j^(2) + j^(0)
● (b) achar a anti-diferença de cada termo fatorial:
f(j) = (1/5) j^(5) + (3/2) j^(4) + 2 j^(3) + j^(1)
● (c) calcular f(k+1) - f(1):
(1/5) (k+1)^(5) + (3/2) (k+1)^(4) + 2 (k+1)^(3) + k

O principal erro aqui foi achar que a combinação linear só envolveria polinômios fatoriais de
graus 4, 2 e 0. Na verdade, envolve 4, 3, 2,
1 e 0. Alguns não utilizaram j^(1) ou j^(0).

● -1.5: combinação linear envolvendo só pol. fat. graus 4, 2, 0


● -1.0: combinação linear sem j^(1) ou sem j^(0)

Outros critérios:

● -1.0: não explicou como chegou aos coeficientes


● -0.4: por coeficiente calculado errado
● -0.4: por anti-diferença calculada errado
● -0.2: por erro na expressão final

Mas teve gente que avaliou a soma de cada termo em separado e usou fórmulas decoradas ou
deduzidas. Fórmulas deduzidas ok, mas decoradas perderam pontos, exceto soma de P.A.

● -0.5: por fórmula que apareceu sem explicação

Prêmio de consolação:

● +0.5: para quem conseguiu calcular soma de 1 = k

Q4

O teorema mestre pode ser usado aqui, com a = 5, b = 3 e f(n) = n^2, chegando a T(n) =
Theta(n^2). Também pode ser usado o método da substituição com o chute n^2, para mostrar
que T(n) = O(n^2) e T(n) = Omega(n^2). O método da árvore pode ser usado para obter a dica
de usar n^2 na substituição.

Teve gente que chegou a conclusões erradas ou mais fracas sobre T(n):

● -2.0: usou log_a b em vez de log_b a no mestre


● -2.0: n lg n
● -1.5: n^(log_3 5)
● -1.5: n^(log_3 5) lg n
● -1.0: n^2 lg n
● -0.5: só O(n^2)
● -0.5: só Omega(n^2)
● -0.5: só n^2 (sem Theta, O ou Omega)

Teve gente que parou no meio do mestre:

● -2.0: só obteve a e b
● -1.5: só obteve a, b e f
● -1.3: obteve a, b e f e sabia que era o caso 3, mas não concluiu
● -1.0: só achou função candidata n^2

Teve gente que usou o mestre de um modo estranho:

● -2.0: mestre com constante c

Sobre método da árvore:

● -1.0: chegou a obter função candidata n^2


● -1.5: chegou a obter outra candidata
● -2.0: usou árvore mas não chegou a nada

Prêmio de consolação:

● +0.5: tentou provar T(n) = O(n^2) mas de forma errada

Você também pode gostar