Prévia do material em texto
QUESTÃO
A descrição da complexidade de um algoritmo, por meio da notação Theta, é geralmente obtida a partir da análise feita sobre os passos executados por ele. No entanto, nem sempre o código implementado está acessível, nem os detalhes do algoritmo são conhecidos. Em casos assim, é preciso observar o seu desempenho, quando submetido a entradas de diferentes tamanhos. Considere a seguinte tabela contendo os dados coletados dos tempos de execução de um algoritmo.
Assinale a alternativa que apresente a melhor aproximação do comportamento assintótico do algoritmo, em termos da notação Theta.
Resposta Correta: Θ(n^2).
Θ(n).
Θ(log(n)).
Θ(n^3).
Θ(n2).
Θ(1).
QUESTÃO
O limite assintótico de algoritmos recursivos pode ser estimado com boa precisão, através da modelagem via árvores de recursão. Para isso, os termos recursivos desempenham papel chave para o entendimento de como o algoritmo se comporta a cada iteração.
Considerando que um algoritmo é modelado pela recursão T(n) = T(n/3) + T(2n/3) + cn, onde c é uma constante, analise as afirmativas a seguir.
I. A árvore de recursão mostra que o custo de cada nível é cn.
II. O limite assintótico inferior do algoritmo é Ω(nlog(n)).
III. O caminho mais curto entre a raiz e um nó folha é log3(n).
IV. O tamanho dos subproblemas decresce a um fator de 2/3.
Está correto apenas o que se afirma em:
II e IV.
II e III.
I e II.
III e IV.
Resposta Correta I, II e III.
QUESTÃO
Relações de recorrência possibilitam que um problema seja modelado a partir de si mesmo, considerando instâncias de menor tamanho. A cada iteração de uma recorrência, o problema em análise é reduzido até o limite de um caso base.
Considerando essas informações e o conteúdo estudado, analise a sequência de números a seguir S = ( 1, 2, 22, 23, ..., 2n, …) e assinale a alternativa que apresenta a recorrência correta para S.
T(n) = T(n – 1) + n, se n ≥ 1 e T(n) = 2, se n = 1.
T(n) = T(n/2) + n, se n ≥ 1 e T(n) = 1, se n = 0.
Resposta Correta T(n) = 2 × T(n – 1), se n ≥ 1 e T(n) = 1, se n = 0.
T(n) = 2n × T(n – 1), se n ≥ 1 e T(n) = 1, se n = 1.
T(n) = T(n – 1) + 2, se n ≥ 1 e T(n) = 1, se n = 0.
QUESTÃO
Umas das aplicações da notação Theta (Θ) é estabelecer uma métrica para comparação de funções. Com isso, um dado conjunto de funções pode ser ordenado de maneira a identificar aquelas que têm maior e menor crescimento assintótico.
Considerando o seguinte conjuntos de funções:
Assinale a alternativa que apresenta a ordenação correta de forma crescente das funções, em termos da notação Theta.
{17,1/n,log(n^20 ),〖log〗^2 (n),n^2 √n,n^3/log(n) }.
{1/n,17,log(n^20 ),〖log〗^2 (n),n^3/log(n) ,n^2 √n}.
{1/n,17,〖log〗^2 (n),log(n^20 ),n^2 √n,n^3/log(n) }.
Resposta Correta {1/n,17,log(n^20 ),〖log〗^2 (n),n^2 √n,n^3/log(n) }.
{17,1/n,log(n^20 ),〖log〗^2 (n),n^3/log(n) ,n^2 √n}.
QUESTÃO
Saber analisar uma recorrência a partir da descrição de um dado problema, é importante para a correta avaliação da complexidade do algoritmo que será projetado. E o entendimento de como cada subproblema é expandido deve ser parte integrante dessa análise. Considere um algoritmo recursivo que, dada uma entrada de tamanho n, divide a entrada em 2 (dois) subproblemas de tamanho n/2, resolve cada um recursivamente e, por fim, combina as duas partes em um tempo O(n).
Em relação ao comportamento recursivo e ao limite assintótico desse algoritmo, analise as afirmativas a seguir (o tempo de execução do algoritmo para uma entrada de tamanho n será denotado por T(n)).
I. A árvore de recursão gerada pelo algoritmo terá tamanho log2(n).
II. Cada nível k da árvore de recursão é composto por 2k subproblemas.
III. O algoritmo tem complexidade da ordem de O(nlog2)
IV. A recursão pode ser descrita pela função T(n) = T(2n) + n.
Está correto apenas o que se afirma em:
Resposta Correta I, II e III.
II e III.
II e IV.
I e II.
III e IV.
QUESTÃO
O desempenho no pior caso de um algoritmo pode ser descrito por meio do uso da notação de complexidade assintótica. Esse é o caso de algoritmos que solucionam problemas de tamanho n, que tem seu tamanho reduzido a cada iteração.
Analise o algoritmo a seguir:
Algoritmo A
Entrada: Inteiro de valor positivo
Saída: Valor 1 se o valor informado for 1
1. se n = 1 então
2. retornar 1
3. senão
4. retornar 2 × A(n/2) + 1
Considerando essas informações e o algoritmo apresentado, analise as afirmativas a seguir e assinale V para a(s) verdadeira(s) e F para a(s) falsa(s).
I. ( ) A solução fechada da recorrência para o algoritmo pode ser descrita pela função T(n) = (n - 1) + c, em que c é uma constante positiva.
II. ( ) O algoritmo gera subproblemas, cujos tamanhos são ¼ do tamanho do subproblema da iteração anterior.
III. ( ) O algoritmo tem como chamada recursiva um comando que gera subproblemas de tamanho n/2.
IV. ( ) O limite superior da recorrência que descreve o algoritmo pode ser expressa por T(n) = O(log(n)).
Agora, assinale a alternativa que apresenta a sequência correta:
V, V, F, V.
V, F, V, F.
Resposta Correta F, F, V, V.
V, V, F, F.
F, V, F, V.
QUESTÃO
Funções de recorrência podem ser exploradas com várias manipulações algébricas de forma a encontrar uma solução fechada. Isso é particularmente importante para a descrição do comportamento assintótico de algoritmos. No entanto, é fundamental saber reconhecer semelhanças e diferenças entre elas.
Considerando a relação de recorrência a seguir, indique a alternativa correta a respeito dela:
· T(1) = 1
· T(n) = T(n - 1) + 3
Resposta Correta O k-ésimo termo da relação é da forma T(n – k) + 3k.
A relação tem limite assintótico superior O(n2).
O caso base da relação tem complexidade linear.
A relação pode ser classificada como homogênea.
O termo independente da relação pode ser substituído por n3, sem interferência no seu comportamento assintótico.
QUESTÃO
O cálculo de complexidade é parte essencial do projeto e da análise de algoritmos. Uma ferramenta chave usada nesta atividade é a notação Theta (Θ). Ela oferece uma maneira objetiva de descrever o comportamento assintótico de algoritmos e possibilita a comparação da eficiência entre eles.
Considerando as funções T1(n) = log2n + n e T2(n) = n, analise as asserções a seguir e a relação proposta entre elas.
I. Um algoritmo A2 com uma complexidade T2 tem uma eficiência computacional melhor que um algoritmo A1 com complexidade T1.
Porque:
II. A função T1 tem limite assintótico dado por T1(n) = Θ(T2(n)).
A seguir, assinale a alternativa correta.
As asserções I e II são proposições verdadeiras, mas a II não é uma justificativa correta da I.
As asserções I e II são proposições falsas.
As asserções I e II são proposições verdadeiras, e a II é uma justificativa correta da I.
A asserção I é uma proposição verdadeira, e a II é uma proposição falsa.
Resposta Correta A asserção I é uma proposição falsa, e a II é uma proposição verdadeira.
QUESTÃO
Árvores de recursão podem ser empregadas para a obtenção de soluções assintoticamente justas para recorrências. Esses limites são expressos por meio da notação Theta e oferecem um poderoso recurso para a análise do desempenho de algoritmos.
Considere a recursão T(n) = T(n - a) + T(a) + cn, onde a ≥ 1 e c > 0 são constantes, e assinale a alternativa que indica uma afirmação correta a respeito de sua análise.
A recorrência pode ser classificada como homogênea.
O custo de todos os nós (subproblemas) a cada nível é T(a).
Se T(n) ≤ cn2, então T(n) = O(n2) para qualquer valor de a e n.
Tomando T(n) ≥ cn2, T(n) = Ω(n2), se a for igual a 1.
Resposta Correta A árvore de recursão apresentará altura de valor igual (n/a) + 1.