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(n²)
  2. BO(n log n)
  3. CO(n³)
  4. DO(2ⁿ)
2.Fácil

O que significa uma operação rodar em tempo O(1)?

  1. ASeu tempo de execução não cresce com o tamanho da entrada
  2. BSempre leva exatamente um segundo
  3. CSó pode ser executada uma vez
  4. DProcessa exatamente um elemento por segundo de tempo de execução
3.Fácil

O que a busca binária exige da sua entrada?

  1. AO array não pode ter mais de 1000 elementos
  2. BO tamanho do array deve ser uma potência de dois
  3. CO array deve estar ordenado
  4. DO array deve conter só números positivos
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 algoritmo encontra os caminhos mínimos a partir de uma origem em um grafo com pesos de arestas não negativos?

  1. ABusca em profundidade (DFS)
  2. BAlgoritmo de Dijkstra
  3. CAlgoritmo de Kruskal
  4. DBellman-Ford é necessário em todos os casos
6.Média

Qual é a complexidade de tempo do algoritmo padrão de programação dinâmica para a maior subsequência comum de strings de comprimentos m e n?

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

Como n! e 2ⁿ se comparam para n grande?

  1. A2ⁿ cresce mais rápido que n!
  2. BCrescem no mesmo ritmo
  3. Cn! é O(n²)
  4. Dn! cresce mais rápido que 2ⁿ
8.Difícil

Usando o teorema mestre, T(n) = 8T(n/2) + O(n²) tem como solução:

  1. AΘ(n² log n)
  2. BΘ(n²)
  3. CΘ(n log n)
  4. DΘ(n³)

Gabarito

  1. 1. D · O(2ⁿ)
  2. 2. A · Seu tempo de execução não cresce com o tamanho da entrada
  3. 3. C · O array deve estar ordenado
  4. 4. B · O(n²)
  5. 5. B · Algoritmo de Dijkstra
  6. 6. D · O(mn)
  7. 7. D · n! cresce mais rápido que 2ⁿ
  8. 8. D · Θ(n³)

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