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
¿Cuánto vale log₂ 1024?
A10
B512
C32
D12
2.Fácil
¿Qué es la memoización?
AConvertir automáticamente la recursión en un bucle equivalente para que no haga falta pila de llamadas
BGuardar los resultados de las llamadas a funciones para responder desde memoria a las llamadas repetidas
CEscribir comentarios junto a cada línea de código
DLiberar memoria cuando una función termina
3.Fácil
¿Cuál es la complejidad temporal de la búsqueda binaria en un array ordenado?
AO(n log n)
BO(1)
CO(log n)
DO(n)
4.Media
¿Cuál es el tiempo de ejecución del radix sort LSD sobre n enteros de d dígitos en base k?
AO(n²)
BO(d(n + k))
CO(dn log k)
DO(n log n)
5.Media
¿Cuál es la complejidad temporal amortizada de añadir al final de un array dinámico que duplica su capacidad cuando está lleno?
AO(n²)
BO(log n)
CO(n)
DO(1)
6.Media
¿Qué algoritmo de ordenación es estable?
AOrdenamiento por selección (versión habitual)
BQuicksort (versión in situ habitual)
CHeap sort
DMerge sort
7.Difícil
¿Qué afirmación sobre la notación o pequeña es correcta?
An = o(n), porque toda función es o pequeña de sí misma
Bn² = o(n)
C2n = o(n), porque 2n crece despacio
Dn = o(n²), pero n no es o(n)
8.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?
APorque n siempre es pequeño
BPorque el algoritmo es aleatorizado y su tiempo de ejecución varía con cada entrada
CPorque solo funciona para W = 0
DW es un número, así que el tiempo es exponencial en el número de bits empleados para escribir W
Soluciones
1. A · 10
2. B · Guardar los resultados de las llamadas a funciones para responder desde memoria a las llamadas repetidas
3. C · O(log n)
4. B · O(d(n + k))
5. D · O(1)
6. D · Merge sort
7. D · n = o(n²), pero n no es o(n)
8. D · W es un número, así que el tiempo es exponencial en el número de bits empleados para escribir W
Soluciones completas paso a paso: practica este tema en examproblems.com.