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. AMerge sort
  2. BQuicksort
  3. COrdenamiento por inserción
  4. DOrdenamiento de burbuja
2.Fácil

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

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

¿Cuál de estas crece más despacio a medida que n se hace grande?

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

¿Cuál es la complejidad temporal de quicksort en el peor caso?

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

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

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

¿Por qué muchas rutinas de ordenación de las bibliotecas cambian al ordenamiento por inserción para subarrays muy pequeños?

  1. AEl ordenamiento por inserción tiene poca sobrecarga y es rápido con entradas pequeñas o casi ordenadas
  2. BLos algoritmos recursivos no pueden tratar arrays de menos de 10 elementos
  3. CEl ordenamiento por inserción usa menos memoria que cualquier otro algoritmo de ordenamiento con entradas grandes
  4. DEl ordenamiento por inserción es O(n log n) en el peor caso
7.Difícil

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

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

¿Qué algoritmo encuentra un árbol de expansión mínima añadiendo repetidamente la arista más barata que no forme un ciclo?

  1. AAlgoritmo de Dijkstra
  2. BFloyd-Warshall
  3. CAlgoritmo de Prim empezando desde un nodo
  4. DAlgoritmo de Kruskal

Soluciones

  1. 1. B · Quicksort
  2. 2. A · O(n)
  3. 3. A · O(log n)
  4. 4. D · O(n²)
  5. 5. C · Un array que ya está ordenado
  6. 6. A · El ordenamiento por inserción tiene poca sobrecarga y es rápido con entradas pequeñas o casi ordenadas
  7. 7. C · Θ(n³)
  8. 8. D · Algoritmo de Kruskal

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