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

Acessar um elemento de um array pelo índice leva:

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

A complexidade de espaço mede:

  1. AO tamanho físico do computador
  2. BA quantidade de memória que um algoritmo precisa à medida que a entrada cresce
  3. CO número de linhas de código
  4. DO espaço em disco do arquivo do programa depois de compilado
3.Fácil

Um laço começa com i = 1 e dobra i a cada iteração até i > n. Quantas iterações ele executa?

  1. ACerca de n / 2
  2. BCerca de log₂ n
  3. CCerca de n²
  4. DCerca de n
4.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?

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

Você ordena um array de n elementos uma vez e depois responde a k consultas de pertinência com busca binária. Qual é o custo total?

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

É correto dizer que um algoritmo O(n²) também é O(n³)?

  1. ANão, porque n³ é menor que n² para n grande
  2. BNão, porque o O grande deve sempre dar a taxa de crescimento exata da função
  3. CSim, mas só se n for menor que 100
  4. DSim, porque o O grande é um limite superior e n² não cresce mais rápido que n³
7.Difícil

O problema da parada mostra que:

  1. AAlguns programas rodam mais rápido em computadores mais rápidos, então a parada depende do hardware
  2. BTodo programa acaba parando
  3. CLaços devem ser evitados
  4. DNenhum algoritmo consegue decidir, para todo programa e toda entrada, se o programa para
8.Difícil

O algoritmo de programação dinâmica de Held–Karp resolve o problema do caixeiro-viajante de forma exata. Qual é o seu tempo de execução para n cidades?

  1. AO(2n²)
  2. BO(n² 2ⁿ)
  3. CO(n!)
  4. DO(n³)

Gabarito

  1. 1. A · O(1)
  2. 2. B · A quantidade de memória que um algoritmo precisa à medida que a entrada cresce
  3. 3. B · Cerca de log₂ n
  4. 4. B · O(n)
  5. 5. B · O(n log n + k log n)
  6. 6. D · Sim, porque o O grande é um limite superior e n² não cresce mais rápido que n³
  7. 7. D · Nenhum algoritmo consegue decidir, para todo programa e toda entrada, se o programa para
  8. 8. B · O(n² 2ⁿ)

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