1.Fácil
Qual é o tempo de execução do counting sort para n inteiros no intervalo de 0 a k?
- AO(n²)
- BO(k log n)
- CO(n + k)
- DO(n log n)
2.Fácil
Um laço começa com i = 1 e dobra i a cada iteração até i > n. Quantas iterações ele executa?
- ACerca de log₂ n
- BCerca de n / 2
- CCerca de n
- DCerca de n²
3.Fácil
Qual estratégia de projeto o merge sort usa?
- AForça bruta
- BEscolha gulosa
- CDivisão e conquista
- DProgramação dinâmica
4.Média
Qual é o tempo de execução do radix sort LSD para n inteiros com d dígitos na base k?
- AO(dn log k)
- BO(d(n + k))
- CO(n²)
- DO(n log n)
5.Média
Por que a programação dinâmica não traz ganho real de velocidade para o merge sort?
- AA programação dinâmica só funciona em problemas de grafos, não em vetores
- BSeus subproblemas não se sobrepõem, então não há nada para reaproveitar
- CO merge sort já é O(n)
- DO merge sort não tem estrutura recursiva
6.Média
Como o algoritmo de Prim constrói uma árvore geradora mínima?
- AExecuta uma busca em largura e mantém a árvore da BFS
- BRemove a aresta mais cara até não restarem ciclos
- COrdena todas as arestas por peso e adiciona cada uma, a menos que forme um ciclo na floresta
- DFaz crescer uma árvore a partir de um vértice inicial, adicionando a aresta mais barata que sai da árvore
7.Difícil
Como é classificado o problema do caixeiro-viajante?
- AÉ indecidível
- BA versão de decisão é NP-completa e a versão de otimização é NP-difícil
- CA versão de decisão está em P, mas a versão de otimização é NP-completa
- DEstá em P, porque o algoritmo de Dijkstra o resolve visitando cada cidade uma única vez
8.Difícil
Por que qualquer busca baseada em comparações num array ordenado precisa de Ω(log n) comparações no pior caso?
- AUma árvore de decisão com n resultados possíveis precisa ter profundidade de pelo menos log₂ n
- BA busca binária é o único algoritmo possível e precisa de log₂ n comparações
- CCada comparação leva tempo logarítmico
- DTodo elemento precisa ser comparado pelo menos uma vez
Gabarito
- 1. C · O(n + k)
- 2. A · Cerca de log₂ n
- 3. C · Divisão e conquista
- 4. B · O(d(n + k))
- 5. B · Seus subproblemas não se sobrepõem, então não há nada para reaproveitar
- 6. D · Faz crescer uma árvore a partir de um vértice inicial, adicionando a aresta mais barata que sai da árvore
- 7. B · A versão de decisão é NP-completa e a versão de otimização é NP-difícil
- 8. A · Uma árvore de decisão com n resultados possíveis precisa ter profundidade de pelo menos log₂ n
Soluções completas passo a passo: pratique este tópico em examproblems.com.