Respuestas modelo
Consulta aquí las respuestas correctas y explicaciones de las autoevaluaciones y los tests del manual. Ideal para repasar antes de un test o aclarar dudas.
3.02 · Operaciones con Arreglos y Complejidad Algorítmica
16 preguntas con respuesta en este tema.
🎯 Autoevaluación (3)
¿Qué es la complejidad algorítmica?
- A. Cuán difícil es el código
- B. Una medida de los recursos (tiempo, memoria) que un algoritmo consume ✓ CORRECTA
- C. El número de líneas
- D. El número de variables
Complejidad: cuántos recursos usa el algoritmo según el tamaño de la entrada. Se mide con notación Big-O.
¿Qué significa O(n)?
- A. El algoritmo es lento
- B. El tiempo crece linealmente con el tamaño de la entrada ✓ CORRECTA
- C. El algoritmo es óptimo
- D. n es el número de líneas
O(n) = lineal. Si n se duplica, el tiempo se duplica. Ej: buscar en arreglo no ordenado.
¿Cuál es la complejidad de un bucle simple de 1 a n?
- A. O(1)
- B. O(log n)
- C. O(n) ✓ CORRECTA
- D. O(n²)
Un bucle que itera n veces tiene complejidad O(n) — lineal.
📝 Test · Sección A · Opción múltiple (10)
¿Qué es la complejidad algorítmica?
- A. La cantidad de código
- B. Medida de los recursos (tiempo, memoria) según el tamaño de entrada ✓ CORRECTA
- C. El número de líneas
- D. El número de variables
Complejidad: cómo escala el algoritmo con n. Big-O es la notación.
¿Qué significa O(n)?
- A. Constante
- B. Lineal: tiempo proporcional al tamaño ✓ CORRECTA
- C. Cuadrático
- D. Logarítmico
O(n) lineal. Duplica n, duplica tiempo.
¿Qué significa O(1)?
- A. Una operación
- B. Constante: tiempo fijo independiente de n ✓ CORRECTA
- C. Logarítmico
- D. Lineal
O(1) = constante. Acceso a un elemento de array, insertar en hash.
O(n²) es típico de:
- A. Búsqueda binaria
- B. Bucles anidados sobre la misma entrada ✓ CORRECTA
- C. Acceso a array
- D. Hashing
for{for} sobre los mismos datos: O(n²). Burbuja, selección, inserción.
O(log n) es típico de:
- A. Búsqueda lineal
- B. Búsqueda binaria ✓ CORRECTA
- C. Burbuja
- D. Sumar elementos
Búsqueda binaria: divide el espacio a la mitad en cada paso.
O(n log n) es típico de:
- A. Búsqueda lineal
- B. Mergesort, heapsort ✓ CORRECTA
- C. Burbuja
- D. Acceso directo
Mergesort y heapsort: O(n log n).
¿Qué es la búsqueda lineal?
- A. Busca en una línea de texto
- B. Recorre el arreglo elemento por elemento ✓ CORRECTA
- C. Divide y vencerás
- D. Hash
Lineal: para cada elemento, comparar. O(n) en el peor caso.
¿Cuál es más rápido: O(1) o O(log n)?
- A. O(log n)
- B. O(1) ✓ CORRECTA
- C. Iguales
- D. Depende
O(1) es lo más rápido posible. Constante, no depende de n.
Big-O describe el:
- A. Mejor caso
- B. Peor caso o cota superior asintótica ✓ CORRECTA
- C. Caso promedio solamente
- D. Tiempo exacto
Big-O: cota superior. En análisis usamos Big-O para el peor caso.
¿Qué es la notación Ω (Omega)?
- A. Peor caso
- B. Cota inferior (mejor caso) ✓ CORRECTA
- C. Promedio
- D. Constante
Omega: mejor caso. Big-O: peor caso. Theta: promedio.
✍️ Test · Sección B · Preguntas abiertas (3)
Compara O(n), O(n log n) y O(n²) para n=10,000. ¿Cuál elegirías?
O(n) = 10,000. O(n log n) ≈ 130,000. O(n²) = 100,000,000. Elegiría O(n log n) si necesito ordenamiento, O(n) si solo busco. Evitar O(n²) para n grande.
Explica el caso mejor, promedio y peor de un algoritmo. Da un ejemplo.
Mejor: condiciones ideales (lista vacía, elemento al inicio). Promedio: caso típico aleatorio. Peor: condiciones adversas (elemento al final, lista invertida). Ej: búsqueda lineal: mejor O(1), promedio O(n/2), peor O(n).
¿Por qué Big-O no te dice el tiempo exacto de un algoritmo? ¿Qué información adicional necesitas?
Big-O ignora constantes y términos de menor orden. Para tiempo exacto necesitas: hardware, implementación específica, tamaño específico de datos, profiling. Big-O es para comparar crecimiento asintótico.
📝 ¿Listo para evaluarte?
Regístrate o inicia sesión para tomar la autoevaluación o el test de este tema y registrar tu puntaje.