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 classe de complexidade cresce mais rápido para n grande?

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

Qual destes tempos de execução é polinomial?

  1. AO(2ⁿ)
  2. BO(n!)
  3. CO(n³)
  4. DO(nⁿ)
3.Fácil

O que é recursão?

  1. AUm laço que nunca termina
  2. BUm método de ordenação
  3. CUma função que chama a si mesma com entradas menores
  4. DUm tipo de estrutura de dados
4.Média

Qual é a complexidade de tempo de: for i = 1 to n: for j = 1 to i: faça trabalho O(1)?

  1. AO(n)
  2. BO(n²)
  3. CO(n³)
  4. DO(n log n)
5.Média

Qual é a complexidade de tempo amortizada de adicionar ao final de um array dinâmico que dobra sua capacidade quando fica cheio?

  1. AO(1)
  2. BO(n²)
  3. CO(n)
  4. DO(log n)
6.Média

Quanto espaço de pilha usa uma função fatorial recursiva simples fact(n) = n × fact(n − 1)?

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

Por que o algoritmo de Dijkstra pode dar resultados errados quando alguns pesos de aresta são negativos?

  1. ASó funciona em grafos não dirigidos
  2. BEntra num laço infinito a cada aresta negativa
  3. CUm vértice é finalizado ao ser extraído, mas uma aresta negativa posterior ainda poderia dar a ele um caminho mais curto
  4. DNúmeros negativos não podem ser armazenados numa fila de prioridade
8.Difícil

Por que a busca média em uma tabela hash é O(1), mas o pior caso é O(n)?

  1. AFunções hash são lentas
  2. BArrays têm acesso O(n)
  3. CMuitas chaves podem colidir no mesmo bucket
  4. DAs chaves precisam ser ordenadas primeiro

Gabarito

  1. 1. A · O(2ⁿ)
  2. 2. C · O(n³)
  3. 3. C · Uma função que chama a si mesma com entradas menores
  4. 4. B · O(n²)
  5. 5. A · O(1)
  6. 6. B · O(n)
  7. 7. C · Um vértice é finalizado ao ser extraído, mas uma aresta negativa posterior ainda poderia dar a ele um caminho mais curto
  8. 8. C · Muitas chaves podem colidir no mesmo bucket

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