1.Fácil
Quanta memória extra usa um merge sort padrão baseado em arrays?
- AO(n)
- BO(log n)
- CO(1)
- DO(n²)
2.Fácil
Qual é a complexidade de tempo da busca em profundidade num grafo armazenado como listas de adjacência?
- AO(V²)
- BO(E log V)
- CO(V × E)
- DO(V + E)
3.Fácil
Um problema costuma ser chamado de tratável se:
- APode ser resolvido em tempo constante
- BSó pode ser resolvido testando todas as possibilidades
- CNão tem solução
- DPode ser resolvido em tempo polinomial
4.Média
Qual é a complexidade de tempo de multiplicar duas matrizes n × n com o laço triplo padrão?
- AO(n)
- BO(n²)
- CO(n³)
- DO(n² log n)
5.Média
O limite inferior para ordenação baseada em comparações no pior caso é:
- AΩ(log n)
- BΩ(n²)
- CΩ(n log n)
- DΩ(n)
6.Média
É correto dizer que um algoritmo O(n²) também é O(n³)?
- ASim, porque o O grande é um limite superior e n² não cresce mais rápido que n³
- BSim, mas só se n for menor que 100
- CNão, porque n³ é menor que n² para n grande
- DNão, porque o O grande deve sempre dar a taxa de crescimento exata da função
7.Difícil
Qual é a solução da recorrência T(n) = 2T(n/2) + n log n?
- AΘ(n log n)
- BΘ(n²)
- CΘ(n)
- DΘ(n log² n)
8.Difícil
Como o algoritmo de Bellman–Ford detecta um ciclo de peso negativo alcançável a partir da origem?
- AVerifica se alguma aresta tem peso negativo
- BApós V − 1 rodadas, verifica se alguma aresta ainda pode ser relaxada
- CConta os ciclos com busca em profundidade
- DExecuta o algoritmo de Dijkstra duas vezes e compara os dois resultados de distância
Gabarito
- 1. A · O(n)
- 2. D · O(V + E)
- 3. D · Pode ser resolvido em tempo polinomial
- 4. C · O(n³)
- 5. C · Ω(n log n)
- 6. A · Sim, porque o O grande é um limite superior e n² não cresce mais rápido que n³
- 7. D · Θ(n log² n)
- 8. B · Após V − 1 rodadas, verifica se alguma aresta ainda pode ser relaxada
Soluções completas passo a passo: pratique este tópico em examproblems.com.