1.Fácil
O que é memoização?
- AEscrever comentários ao lado de cada linha de código
- BArmazenar os resultados de chamadas de função para que chamadas repetidas sejam respondidas da memória
- CConverter automaticamente a recursão em um laço equivalente, de modo que não seja preciso pilha de chamadas
- DLiberar memória depois que uma função retorna
2.Fácil
Qual classe de complexidade cresce mais rápido para n grande?
- AO(2ⁿ)
- BO(n³)
- CO(n log n)
- DO(n²)
3.Fácil
O que a busca binária exige da sua entrada?
- AO tamanho do array deve ser uma potência de dois
- BO array deve conter só números positivos
- CO array não pode ter mais de 1000 elementos
- DO array deve estar ordenado
4.Média
Por que muitas rotinas de ordenação de bibliotecas passam para o insertion sort em subarrays muito pequenos?
- AO insertion sort tem pouco overhead e é rápido com entradas pequenas ou quase ordenadas
- BO insertion sort é O(n log n) no pior caso
- CAlgoritmos recursivos não conseguem lidar com arrays de menos de 10 elementos
- DO insertion sort usa menos memória que qualquer outro algoritmo de ordenação em entradas grandes
5.Média
Num array ordenado, você procura dois elementos cuja soma seja um alvo movendo um ponteiro de cada extremidade para dentro. Qual é a complexidade de tempo?
- AO(n log n)
- BO(log n)
- CO(n)
- DO(n²)
6.Média
O que a análise amortizada mede?
- AO custo de um algoritmo com a melhor entrada
- BO custo médio por operação ao longo de uma sequência de operações de pior caso
- CO custo da operação individual mais cara em qualquer ponto da sequência
- DO custo esperado sobre entradas aleatórias
7.Difícil
Um problema é NP-completo se ele:
- AEstá em NP e todo problema NP se reduz a ele em tempo polinomial
- BEstá fora de NP, mas é mais difícil que todos os problemas NP, como o problema da parada
- CPode ser resolvido em tempo polinomial
- DÉ impossível de resolver
8.Difícil
Qual é o tempo de execução do algoritmo de Dijkstra com um heap binário num grafo com V vértices e E arestas?
- AO((V + E) log V)
- BO(V × E)
- CO(V³)
- DO(V + E)
Gabarito
- 1. B · Armazenar os resultados de chamadas de função para que chamadas repetidas sejam respondidas da memória
- 2. A · O(2ⁿ)
- 3. D · O array deve estar ordenado
- 4. A · O insertion sort tem pouco overhead e é rápido com entradas pequenas ou quase ordenadas
- 5. C · O(n)
- 6. B · O custo médio por operação ao longo de uma sequência de operações de pior caso
- 7. A · Está em NP e todo problema NP se reduz a ele em tempo polinomial
- 8. A · O((V + E) log V)
Soluções completas passo a passo: pratique este tópico em examproblems.com.