1.Fácil
Qual algoritmo de ordenação troca repetidamente elementos adjacentes que estão na ordem errada?
- AHeap sort
- BQuicksort
- CMerge sort (ordenação por intercalação)
- DBubble sort (ordenação por bolha)
2.Fácil
Qual notação descreve um limite inferior de crescimento?
- AΩ (Ômega grande)
- BΘ (Theta grande)
- CO (O grande)
- Do (o pequeno)
3.Fácil
Quanto é log₂ 1024?
- A10
- B512
- C12
- D32
4.Média
Qual é a complexidade de tempo de: for i = 1 to n: (j = 1; while j < n: j = j × 2)?
- AO(log n)
- BO(n log n)
- CO(n)
- DO(n²)
5.Média
Por que a programação dinâmica não traz ganho real de velocidade para o merge sort?
- AO merge sort já é O(n)
- BSeus subproblemas não se sobrepõem, então não há nada para reaproveitar
- CO merge sort não tem estrutura recursiva
- DA programação dinâmica só funciona em problemas de grafos, não em vetores
6.Média
A recorrência T(n) = 2T(n/2) + O(n) tem como solução:
- AO(log n)
- BO(n log n)
- CO(n²)
- DO(n)
7.Difícil
Qual é a complexidade de tempo para construir um heap binário a partir de n elementos não ordenados com o método bottom-up?
- AO(n²)
- BO(n log n)
- CO(log n)
- DO(n)
8.Difícil
O problema da parada mostra que:
- ATodo programa acaba parando
- BAlguns programas rodam mais rápido em computadores mais rápidos, então a parada depende do hardware
- CLaços devem ser evitados
- DNenhum algoritmo consegue decidir, para todo programa e toda entrada, se o programa para
Gabarito
- 1. D · Bubble sort (ordenação por bolha)
- 2. A · Ω (Ômega grande)
- 3. A · 10
- 4. B · O(n log n)
- 5. B · Seus subproblemas não se sobrepõem, então não há nada para reaproveitar
- 6. B · O(n log n)
- 7. D · O(n)
- 8. D · Nenhum algoritmo consegue decidir, para todo programa e toda entrada, se o programa para
Soluções completas passo a passo: pratique este tópico em examproblems.com.