Hoja de ejercicios de Algoritmos y complejidad con soluciones

Hoja de ejercicios de Algoritmos y complejidad gratis e imprimible: 8 problemas desde nivel fácil hasta nivel de examen, con soluciones. Imprímela o guárdala como PDF.

Para docentes: pueden imprimirla, copiarla y usarla en clase gratis. Cada hoja nueva tiene valores nuevos y su propia clave de respuestas. Agradecemos un enlace a ExamProblems en la página de tu curso.

Nombre: ____________________   Fecha: ____________

1.Fácil

¿Cuál de estos tiempos de ejecución es polinómico?

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

¿Qué describe el tiempo de ejecución en el peor caso de un algoritmo?

  1. AEl tiempo máximo que tarda entre todas las entradas de tamaño n
  2. BEl tiempo que tarda en un ordenador lento
  3. CEl tiempo esperado que tarda con una entrada aleatoria de tamaño n
  4. DEl tiempo que tarda con la entrada más pequeña
3.Fácil

¿Qué es la recursión?

  1. AUn método de ordenación
  2. BUn bucle que nunca termina
  3. CUn tipo de estructura de datos
  4. DUna función que se llama a sí misma con entradas más pequeñas
4.Media

La complejidad temporal de Fibonacci recursivo ingenuo (fib(n) = fib(n−1) + fib(n−2)) es:

  1. ALogarítmica
  2. BConstante
  3. CLineal
  4. DExponencial
5.Media

¿Qué algoritmo de ordenación es estable?

  1. AHeap sort
  2. BOrdenamiento por selección (versión habitual)
  3. CMerge sort
  4. DQuicksort (versión in situ habitual)
6.Media

¿Por qué la programación dinámica no aporta ninguna mejora real a merge sort?

  1. AMerge sort ya es O(n)
  2. BMerge sort no tiene estructura recursiva
  3. CSus subproblemas no se solapan, así que no hay nada que reutilizar
  4. DLa programación dinámica solo funciona con problemas de grafos, no con arreglos
7.Difícil

¿Cuál es el tiempo de ejecución del algoritmo de Dijkstra con un montículo binario en un grafo con V vértices y E aristas?

  1. AO(V³)
  2. BO(V × E)
  3. CO((V + E) log V)
  4. DO(V + E)
8.Difícil

¿Cuál es la complejidad temporal de: para i = 1 hasta n: para (j = i; j ≤ n; j = j + i) hacer trabajo O(1)?

  1. AO(n √n)
  2. BO(n)
  3. CO(n²)
  4. DO(n log n)

Soluciones

  1. 1. D · O(n³)
  2. 2. A · El tiempo máximo que tarda entre todas las entradas de tamaño n
  3. 3. D · Una función que se llama a sí misma con entradas más pequeñas
  4. 4. D · Exponencial
  5. 5. C · Merge sort
  6. 6. C · Sus subproblemas no se solapan, así que no hay nada que reutilizar
  7. 7. C · O((V + E) log V)
  8. 8. D · O(n log n)

Soluciones completas paso a paso: practica este tema en examproblems.com.