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é notación describe una cota superior del crecimiento?

  1. ATheta grande (Big Theta)
  2. BOmega grande (Big Omega)
  3. CO grande (Big O)
  4. DOmega pequeña (little omega)
2.Fácil

¿Cómo se llama un crecimiento O(2ⁿ)?

  1. AExponencial
  2. BLineal
  3. CLogarítmico
  4. DPolinómico
3.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(k log n)
  2. BO(n²)
  3. CO(n + k)
  4. DO(n log n)
4.Media

¿Cuál es la solución de la recurrencia T(n) = 2T(n/2) + O(1)?

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

¿Cómo construye el algoritmo de Prim un árbol de expansión mínima?

  1. AOrdena todas las aristas por peso y añade cada una salvo que forme un ciclo en el bosque
  2. BEjecuta una búsqueda en anchura y se queda con el árbol BFS
  3. CElimina la arista más cara hasta que no quedan ciclos
  4. DHace crecer un único árbol desde un vértice inicial, añadiendo la arista más barata que sale del árbol
6.Media

La recurrencia T(n) = 2T(n/2) + O(n) tiene como solución:

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

El problema de la mochila 0/1 resuelto con programación dinámica requiere un tiempo O(nW). ¿Por qué se llama pseudopolinómico?

  1. APorque el algoritmo es aleatorizado y su tiempo de ejecución varía con cada entrada
  2. BW es un número, así que el tiempo es exponencial en el número de bits empleados para escribir W
  3. CPorque n siempre es pequeño
  4. DPorque solo funciona para W = 0
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 log n)
  2. BO(n √n)
  3. CO(n²)
  4. DO(n)

Soluciones

  1. 1. C · O grande (Big O)
  2. 2. A · Exponencial
  3. 3. C · O(n + k)
  4. 4. B · O(n)
  5. 5. D · Hace crecer un único árbol desde un vértice inicial, añadiendo la arista más barata que sale del árbol
  6. 6. B · O(n log n)
  7. 7. B · W es un número, así que el tiempo es exponencial en el número de bits empleados para escribir W
  8. 8. A · O(n log n)

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