1.Fácil
¿Cuál es la complejidad temporal de hallar el valor más grande de un array no ordenado de n números?
- AO(log n)
- BO(n)
- CO(1)
- DO(n log n)
2.Fácil
¿Qué clase de complejidad crece más rápido para n grande?
- AO(n³)
- BO(n²)
- CO(2ⁿ)
- DO(n log n)
3.Fácil
¿Cuál de estas crece más despacio a medida que n se hace grande?
- AO(n²)
- BO(n)
- CO(log n)
- DO(n log n)
4.Media
¿Cuántos niveles tiene la recursión de merge sort para un array de n elementos?
- AUnos n
- BUnos √n
- CUnos log₂ n
- DUnos n / 2
5.Media
¿Qué algoritmo de ordenación es estable?
- AMerge sort
- BQuicksort (versión in situ habitual)
- CHeap sort
- DOrdenamiento por selección (versión habitual)
6.Media
¿Qué mide el análisis amortizado?
- AEl coste esperado con entradas aleatorias
- BEl coste de la única operación más cara de toda la secuencia
- CEl coste medio por operación a lo largo de una secuencia de operaciones del peor caso
- DEl coste de un algoritmo con la mejor entrada
7.Difícil
El problema de la parada demuestra que:
- ATodo programa acaba deteniéndose
- BNingún algoritmo puede decidir, para todo programa y toda entrada, si el programa se detiene
- CAlgunos programas se ejecutan más rápido en ordenadores más rápidos, así que la parada depende del hardware
- DHay que evitar los bucles
8.Difícil
¿Qué técnica proporciona a quicksort un tiempo de ejecución esperado de O(n log n) para cualquier entrada?
- AElegir el pivote de forma uniformemente aleatoria
- BElegir siempre el primer elemento
- CUsar recursión solo en el lado izquierdo
- DOrdenar la entrada antes de ejecutar quicksort
Soluciones
- 1. B · O(n)
- 2. C · O(2ⁿ)
- 3. C · O(log n)
- 4. C · Unos log₂ n
- 5. A · Merge sort
- 6. C · El coste medio por operación a lo largo de una secuencia de operaciones del peor caso
- 7. B · Ningún algoritmo puede decidir, para todo programa y toda entrada, si el programa se detiene
- 8. A · Elegir el pivote de forma uniformemente aleatoria
Soluciones completas paso a paso: practica este tema en examproblems.com.