Lista de exercícios de Algoritmos e complexidade com respostas

Lista de exercícios de Algoritmos e complexidade grátis para imprimir: 8 exercícios do nível fácil ao nível de prova, com gabarito. Imprima ou salve como PDF.

Para professores: pode imprimir, copiar e usar em aula gratuitamente. Cada nova folha tem novos valores e o seu próprio gabarito. Agradecemos um link para o ExamProblems na página da sua disciplina.

Nome: ____________________   Data: ____________

1.Fácil

Qual é a complexidade de tempo do insertion sort no pior caso?

  1. AO(n log n)
  2. BO(n)
  3. CO(log n)
  4. DO(n²)
2.Fácil

Um algoritmo com dois laços aninhados, cada um executado n vezes, normalmente tem qual complexidade?

  1. AO(n²)
  2. BO(2n)
  3. CO(n)
  4. DO(log n)
3.Fácil

Quais são as três etapas de um algoritmo de divisão e conquista?

  1. AChutar, verificar, repetir
  2. BLer, calcular, escrever
  3. COrdenar, buscar, retornar
  4. DDividir, conquistar, combinar
4.Média

A complexidade de tempo do Fibonacci recursivo ingênuo (fib(n) = fib(n−1) + fib(n−2)) é:

  1. ALogarítmica
  2. BLinear
  3. CConstante
  4. DExponencial
5.Média

A programação dinâmica é útil quando um problema tem:

  1. AApenas entradas aleatórias
  2. BNenhum subproblema, de modo que pode ser resolvido em um único passo
  3. CSubproblemas sobrepostos e subestrutura ótima
  4. DUm único laço
6.Média

Qual é a solução da recorrência T(n) = T(n − 1) + O(1)?

  1. AO(2ⁿ)
  2. BO(n)
  3. CO(n²)
  4. DO(log n)
7.Difícil

Qual definição da classe NP está correta?

  1. AProblemas que nenhum algoritmo consegue resolver
  2. BProblemas que não podem ser resolvidos em tempo polinomial
  3. CProblemas que não são polinomiais
  4. DProblemas de decisão cujas respostas "sim" podem ser verificadas em tempo polinomial dado um certificado
8.Difícil

O problema da mochila 0/1 resolvido com programação dinâmica leva tempo O(nW). Por que isso é chamado de pseudopolinomial?

  1. APorque n é sempre pequeno
  2. BPorque só funciona para W = 0
  3. CW é um número, então o tempo é exponencial no número de bits usados para escrever W
  4. DPorque o algoritmo é aleatorizado e seu tempo de execução varia a cada entrada

Gabarito

  1. 1. D · O(n²)
  2. 2. A · O(n²)
  3. 3. D · Dividir, conquistar, combinar
  4. 4. D · Exponencial
  5. 5. C · Subproblemas sobrepostos e subestrutura ótima
  6. 6. B · O(n)
  7. 7. D · Problemas de decisão cujas respostas "sim" podem ser verificadas em tempo polinomial dado um certificado
  8. 8. C · W é um número, então o tempo é exponencial no número de bits usados para escrever W

Soluções completas passo a passo: pratique este tópico em examproblems.com.