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é algoritmo de ordenación elige un pivote y divide el array en elementos menores y mayores?

  1. AOrdenamiento por inserción
  2. BQuicksort
  3. COrdenamiento de burbuja
  4. DMerge sort
2.Fácil

¿Qué notación describe una cota superior del crecimiento?

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

¿Cuánta memoria adicional usa un merge sort estándar basado en arrays?

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

Un quicksort usa siempre el primer elemento como pivote. ¿Con qué entrada muestra su comportamiento de peor caso?

  1. AUn array que ya está ordenado
  2. BUn array con todos sus elementos distintos
  3. CUn array en orden aleatorio
  4. DUn array de longitud 2
5.Media

¿Cuál es la complejidad temporal de: para i = 1 hasta n: (j = 1; mientras j < n: j = j × 2)?

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

La búsqueda en anchura (BFS) en un grafo no ponderado encuentra:

  1. ALos caminos más cortos en número de aristas desde el nodo inicial
  2. BUn orden topológico en todos los grafos
  3. CEl árbol de expansión mínima
  4. DLos caminos más cortos en grafos que contienen aristas con pesos negativos
7.Difícil

El problema de la parada demuestra que:

  1. AAlgunos programas se ejecutan más rápido en ordenadores más rápidos, así que la parada depende del hardware
  2. BTodo programa acaba deteniéndose
  3. CNingún algoritmo puede decidir, para todo programa y toda entrada, si el programa se detiene
  4. DHay que evitar los bucles
8.Difícil

El algoritmo de Strassen multiplica matrices usando 7 multiplicaciones recursivas de bloques de la mitad de tamaño en lugar de 8. ¿Cuál es su tiempo de ejecución?

  1. AΘ(n2)
  2. BΘ(nlog₂ 7), aproximadamente n2,81
  3. CΘ(n³)
  4. DΘ(n² log n)

Soluciones

  1. 1. B · Quicksort
  2. 2. C · O grande (Big O)
  3. 3. D · O(n)
  4. 4. A · Un array que ya está ordenado
  5. 5. C · O(n log n)
  6. 6. A · Los caminos más cortos en número de aristas desde el nodo inicial
  7. 7. C · Ningún algoritmo puede decidir, para todo programa y toda entrada, si el programa se detiene
  8. 8. B · Θ(nlog₂ 7), aproximadamente n2,81

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