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

¿Qué es la memoización?

  1. ALiberar memoria cuando una función termina
  2. BEscribir comentarios junto a cada línea de código
  3. CConvertir automáticamente la recursión en un bucle equivalente para que no haga falta pila de llamadas
  4. DGuardar los resultados de las llamadas a funciones para responder desde memoria a las llamadas repetidas
2.Fácil

¿Cuál es el tiempo de ejecución del ordenamiento por cuentas (counting sort) para n enteros en el rango de 0 a k?

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

¿Qué algoritmo de ordenación intercambia repetidamente elementos adyacentes que están en el orden incorrecto?

  1. AQuicksort
  2. BOrdenamiento por montículos (heap sort)
  3. COrdenamiento de burbuja (bubble sort)
  4. DOrdenamiento por mezcla (merge sort)
4.Media

Un algoritmo voraz (greedy):

  1. ASolo usa recursión
  2. BToma la mejor decisión local en cada paso
  3. CPrueba todas las soluciones posibles
  4. DSiempre da la solución óptima
5.Media

Con monedas de 1, 3 y 4 y una cantidad de 6, ¿cuántas monedas usa el método voraz de «la moneda más grande primero», comparado con el óptimo?

  1. AEl voraz usa 2 monedas; el óptimo es 2
  2. BEl voraz usa 4 monedas; el óptimo es 3
  3. CEl voraz usa 3 monedas; el óptimo es 2
  4. DEl voraz usa 3 monedas; el óptimo es 3
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. BLa programación dinámica solo funciona con problemas de grafos, no con arreglos
  3. CMerge sort no tiene estructura recursiva
  4. DSus subproblemas no se solapan, así que no hay nada que reutilizar
7.Difícil

¿Qué cota es correcta para log(n!)?

  1. AΘ(n log n)
  2. BΘ(n²)
  3. CΘ(n)
  4. DΘ(log n)
8.Difícil

Usando el teorema maestro, T(n) = 8T(n/2) + O(n²) tiene como solución:

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

Soluciones

  1. 1. D · Guardar los resultados de las llamadas a funciones para responder desde memoria a las llamadas repetidas
  2. 2. B · O(n + k)
  3. 3. C · Ordenamiento de burbuja (bubble sort)
  4. 4. B · Toma la mejor decisión local en cada paso
  5. 5. C · El voraz usa 3 monedas; el óptimo es 2
  6. 6. D · Sus subproblemas no se solapan, así que no hay nada que reutilizar
  7. 7. A · Θ(n log n)
  8. 8. B · Θ(n³)

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