1.Fácil
Qual é a complexidade de tempo do insertion sort no pior caso?
- AO(n log n)
- BO(n²)
- CO(log n)
- DO(n)
2.Fácil
Qual classe de complexidade cresce mais rápido para n grande?
- AO(n²)
- BO(n³)
- CO(n log n)
- DO(2ⁿ)
3.Fácil
Qual é a complexidade de tempo da busca binária em um array ordenado?
- AO(n log n)
- BO(1)
- CO(log n)
- DO(n)
4.Média
Qual algoritmo encontra os caminhos mínimos a partir de uma origem em um grafo com pesos de arestas não negativos?
- AAlgoritmo de Kruskal
- BBellman-Ford é necessário em todos os casos
- CBusca em profundidade (DFS)
- DAlgoritmo de Dijkstra
5.Média
Qual é a solução da recorrência T(n) = 2T(n − 1) + O(1)?
- AO(n log n)
- BO(n²)
- CO(2ⁿ)
- DO(n)
6.Média
A programação dinâmica é útil quando um problema tem:
- ANenhum subproblema, de modo que pode ser resolvido em um único passo
- BSubproblemas sobrepostos e subestrutura ótima
- CApenas entradas aleatórias
- DUm único laço
7.Difícil
O problema da parada mostra que:
- ANenhum algoritmo consegue decidir, para todo programa e toda entrada, se o programa para
- BAlguns programas rodam mais rápido em computadores mais rápidos, então a parada depende do hardware
- CTodo programa acaba parando
- DLaços devem ser evitados
8.Difícil
Qual afirmação sobre a notação o pequeno está correta?
- A2n = o(n), porque 2n cresce devagar
- Bn = o(n²), mas n não é o(n)
- Cn² = o(n)
- Dn = o(n), já que toda função é o pequeno de si mesma
Gabarito
- 1. B · O(n²)
- 2. D · O(2ⁿ)
- 3. C · O(log n)
- 4. D · Algoritmo de Dijkstra
- 5. C · O(2ⁿ)
- 6. B · Subproblemas sobrepostos e subestrutura ótima
- 7. A · Nenhum algoritmo consegue decidir, para todo programa e toda entrada, se o programa para
- 8. B · n = o(n²), mas n não é o(n)
Soluções completas passo a passo: pratique este tópico em examproblems.com.