1.Fácil
Quais são as três etapas de um algoritmo de divisão e conquista?
- AChutar, verificar, repetir
- BLer, calcular, escrever
- CDividir, conquistar, combinar
- DOrdenar, buscar, retornar
2.Fácil
Qual classe de complexidade cresce mais rápido para n grande?
- AO(2ⁿ)
- BO(n log n)
- CO(n²)
- DO(n³)
3.Fácil
A complexidade de espaço mede:
- AO espaço em disco do arquivo do programa depois de compilado
- BO número de linhas de código
- CO tamanho físico do computador
- DA quantidade de memória que um algoritmo precisa à medida que a entrada cresce
4.Média
Você ordena um array de n elementos uma vez e depois responde a k consultas de pertinência com busca binária. Qual é o custo total?
- AO(nk)
- BO(n log n + k log n)
- CO(n + k)
- DO(k n log n)
5.Média
Qual é a solução da recorrência T(n) = T(n − 1) + O(n)?
- AO(n²)
- BO(n)
- CO(2ⁿ)
- DO(n log n)
6.Média
O que significa um problema ter subestrutura ótima?
- AUma solução ótima pode ser construída a partir de soluções ótimas dos seus subproblemas
- BO problema tem exatamente uma solução ótima, compartilhada por todos os subproblemas
- CTodos os subproblemas têm o mesmo tamanho
- DO problema pode ser resolvido em tempo constante
7.Difícil
O problema da mochila 0/1 resolvido com programação dinâmica leva tempo O(nW). Por que isso é chamado de pseudopolinomial?
- APorque n é sempre pequeno
- BPorque o algoritmo é aleatorizado e seu tempo de execução varia a cada entrada
- CPorque só funciona para W = 0
- DW é um número, então o tempo é exponencial no número de bits usados para escrever W
8.Difícil
22n está em O(2ⁿ)?
- ANão, porque 22n cresce mais devagar que 2ⁿ
- BNão, porque 22n = 4ⁿ e 4ⁿ / 2ⁿ = 2ⁿ cresce sem limite
- CSim, porque ambos são exponenciais
- DSim, porque fatores constantes no expoente são sempre ignorados no O grande
Gabarito
- 1. C · Dividir, conquistar, combinar
- 2. A · O(2ⁿ)
- 3. D · A quantidade de memória que um algoritmo precisa à medida que a entrada cresce
- 4. B · O(n log n + k log n)
- 5. A · O(n²)
- 6. A · Uma solução ótima pode ser construída a partir de soluções ótimas dos seus subproblemas
- 7. D · W é um número, então o tempo é exponencial no número de bits usados para escrever W
- 8. B · Não, porque 22n = 4ⁿ e 4ⁿ / 2ⁿ = 2ⁿ cresce sem limite
Soluções completas passo a passo: pratique este tópico em examproblems.com.