1.Fácil
O que é o caso base de uma função recursiva?
- AA chamada que usa mais memória
- BO caso com a maior entrada, que é tratado antes de quaisquer chamadas recursivas
- CA primeira linha da função
- DUm caso respondido diretamente, sem fazer outra chamada recursiva
2.Fácil
O que é memoização?
- AEscrever comentários ao lado de cada linha de código
- BConverter automaticamente a recursão em um laço equivalente, de modo que não seja preciso pilha de chamadas
- CArmazenar os resultados de chamadas de função para que chamadas repetidas sejam respondidas da memória
- DLiberar memória depois que uma função retorna
3.Fácil
Qual é a complexidade de tempo do insertion sort no melhor caso, com um array já ordenado?
- AO(n²)
- BO(n)
- CO(1)
- DO(n log n)
4.Média
Com moedas de 1, 3 e 4 e um valor de 6, quantas moedas o método guloso "maior moeda primeiro" usa, em comparação com o ótimo?
- AO guloso usa 3 moedas; o ótimo é 2
- BO guloso usa 2 moedas; o ótimo é 2
- CO guloso usa 4 moedas; o ótimo é 3
- DO guloso usa 3 moedas; o ótimo é 3
5.Média
No problema de seleção de atividades, qual regra gulosa sempre dá o número máximo de atividades sem sobreposição?
- AEscolher primeiro a atividade mais curta
- BEscolher primeiro a atividade com menos sobreposições e repetir com as compatíveis
- CEscolher a atividade que termina mais cedo e repetir com as compatíveis
- DEscolher a atividade que começa mais cedo
6.Média
Qual é a solução da recorrência T(n) = T(n/2) + O(1)?
- AO(n)
- BO(log n)
- CO(1)
- DO(n log n)
7.Difícil
O algoritmo de Strassen multiplica matrizes usando 7, em vez de 8, multiplicações recursivas de blocos de metade do tamanho. Qual é o seu tempo de execução?
- AΘ(n2)
- BΘ(n³)
- CΘ(nlog₂ 7), cerca de n2,81
- DΘ(n² log n)
8.Difícil
Tomar as duas extremidades de cada aresta de um emparelhamento maximal dá uma cobertura de vértices. Quão boa é essa cobertura?
- ASempre uma cobertura de vértices mínima
- BNo máximo o dobro do tamanho de uma cobertura de vértices mínima
- CNo máximo log n vezes o mínimo
- DDe qualidade desconhecida em relação ao ótimo
Gabarito
- 1. D · Um caso respondido diretamente, sem fazer outra chamada recursiva
- 2. C · Armazenar os resultados de chamadas de função para que chamadas repetidas sejam respondidas da memória
- 3. B · O(n)
- 4. A · O guloso usa 3 moedas; o ótimo é 2
- 5. C · Escolher a atividade que termina mais cedo e repetir com as compatíveis
- 6. B · O(log n)
- 7. C · Θ(nlog₂ 7), cerca de n2,81
- 8. B · No máximo o dobro do tamanho de uma cobertura de vértices mínima
Soluções completas passo a passo: pratique este tópico em examproblems.com.