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 un algoritmo de fuerza bruta?

  1. AUno que siempre usa recursión
  2. BUno que prueba todas las soluciones candidatas posibles
  3. CUno que se ejecuta en muchos procesadores
  4. DUno que adivina una respuesta al azar
2.Fácil

¿Qué significa que una operación se ejecute en tiempo O(1)?

  1. ASiempre tarda exactamente un segundo
  2. BSolo puede ejecutarse una vez
  3. CSu tiempo de ejecución no crece con el tamaño de la entrada
  4. DProcesa exactamente un elemento por segundo de tiempo de ejecución
3.Fácil

¿Cuál es la complejidad temporal de la búsqueda en profundidad en un grafo almacenado como listas de adyacencia?

  1. AO(V + E)
  2. BO(E log V)
  3. CO(V × E)
  4. DO(V²)
4.Media

¿Por qué suele omitirse la base del logaritmo en la notación O grande, como en O(log n)?

  1. ALos logaritmos en distintas bases solo difieren en un factor constante
  2. BTodos los logaritmos en informática tienen base 10, así que va implícita
  3. CLos logaritmos siempre se redondean a enteros
  4. DLa base solo importa para n pequeño
5.Media

Una función ejecuta un bucle de n iteraciones y después, por separado, otro bucle de n iteraciones. ¿Cuál es su complejidad temporal?

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

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

  1. AO(n²)
  2. BO(2ⁿ)
  3. CO(n 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. BPorque solo funciona para W = 0
  3. CW es un número, así que el tiempo es exponencial en el número de bits empleados para escribir W
  4. DPorque n siempre es pequeño
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 Kruskal
  2. BFloyd-Warshall
  3. CAlgoritmo de Prim empezando desde un nodo
  4. DAlgoritmo de Dijkstra

Soluciones

  1. 1. B · Uno que prueba todas las soluciones candidatas posibles
  2. 2. C · Su tiempo de ejecución no crece con el tamaño de la entrada
  3. 3. A · O(V + E)
  4. 4. A · Los logaritmos en distintas bases solo difieren en un factor constante
  5. 5. A · O(n)
  6. 6. B · O(2ⁿ)
  7. 7. C · W es un número, así que el tiempo es exponencial en el número de bits empleados para escribir W
  8. 8. A · Algoritmo de Kruskal

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