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.05 · Búsqueda: Secuencial vs Binaria
16 preguntas con respuesta en este tema.
🎯 Autoevaluación (3)
¿Cuál es la complejidad de la búsqueda secuencial?
- A. O(1)
- B. O(log n)
- C. O(n) ✓ CORRECTA
- D. O(n²)
Búsqueda secuencial: en el peor caso recorre todo el arreglo. O(n) = lineal.
¿Cuál es la complejidad de la búsqueda binaria?
- A. O(1)
- B. O(log n) ✓ CORRECTA
- C. O(n)
- D. O(n²)
Búsqueda binaria divide el espacio de búsqueda a la mitad en cada paso. O(log n).
¿Qué requisito tiene la búsqueda binaria?
- A. Arreglo pequeño
- B. Arreglo ORDENADO ✓ CORRECTA
- C. Números pares
- D. Strings solamente
La búsqueda binaria SOLO funciona en arreglos ordenados. Si no está ordenado, el resultado es incorrecto.
📝 Test · Sección A · Opción múltiple (10)
¿Cuál es la complejidad de la búsqueda secuencial?
- A. O(1)
- B. O(n) ✓ CORRECTA
- C. O(log n)
- D. O(n²)
Secuencial: en el peor caso, recorre todos los n elementos. O(n).
¿Cuál es la complejidad de la búsqueda binaria?
- A. O(1)
- B. O(log n) ✓ CORRECTA
- C. O(n)
- D. O(n log n)
Binaria: divide el espacio a la mitad en cada paso. O(log n).
¿Qué requisito tiene la búsqueda binaria?
- A. Arreglo de cualquier tamaño
- B. Arreglo ORDENADO ✓ CORRECTA
- C. Solo números pares
- D. Solo strings
Binaria REQUIERE datos ordenados. Sin orden, no funciona.
Si buscas 50 en [10, 20, 30, 40, 50, 60, 70] usando binaria, ¿cuántos pasos?
- A. 1
- B. 2
- C. 3 ✓ CORRECTA
- D. 7
medio=40, luego 60, luego 50. 3 pasos.
¿Cómo se calcula el punto medio en binaria?
- A. (low + high) / 2 ✓ CORRECTA
- B. low + high
- C. high - low
- D. low * 2
mid = (low + high) / 2. Cuidado con overflow en algunos lenguajes.
Búsqueda binaria vs secuencial: ¿cuándo es mejor la binaria?
- A. Siempre
- B. En datos ordenados grandes donde importa la velocidad ✓ CORRECTA
- C. En datos desordenados
- D. Solo con strings
Binaria: solo si está ordenado. Si no, primero ordena (lo cual cuesta).
¿Qué pasa si los datos están desordenados y usas binaria?
- A. Funciona igual
- B. Resultado incorrecto ✓ CORRECTA
- C. Es más rápido
- D. Error de compilación
Binaria asume orden. Sin orden, puede perder elementos o no encontrarlos.
¿Cuál es la diferencia entre búsqueda y ordenamiento?
- A. Son iguales
- B. Búsqueda encuentra, ordenamiento pone en orden ✓ CORRECTA
- C. Ordenamiento busca
- D. Búsqueda ordena
Búsqueda: localizar un valor. Ordenamiento: poner datos en orden (prerrequisito de búsqueda binaria).
¿Cuántas comparaciones hace la búsqueda binaria en el peor caso con n=1024?
- A. 10 ✓ CORRECTA
- B. 11
- C. 1024
- D. 100
log2(1024) = 10. La búsqueda binaria hace 10 comparaciones.
¿Búsqueda binaria requiere acceso aleatorio?
- A. No
- B. Sí, para acceder al elemento medio en O(1) ✓ CORRECTA
- C. Solo en arrays
- D. Solo en listas
Binaria necesita acceder al medio en O(1), por eso usa arrays, no listas enlazadas.
✍️ Test · Sección B · Preguntas abiertas (3)
¿Por qué la búsqueda binaria solo funciona en datos ordenados? Da un ejemplo donde falla.
Porque divide el espacio basándose en orden. Si no está ordenado, al dividir podrías perder el elemento. Ej: buscar 5 en [3, 7, 2, 9, 1]. medio=2. ¿5 > 2? sí, busco en [7, 9, 1]. Pero 5 podría estar en [3, 7] que descarté. Resultado: incorrecto.
Diseña un algoritmo que combine búsqueda binaria con la condición de "primera ocurrencia" de un elemento repetido.
Búsqueda binaria normal + al encontrar el elemento, buscar hacia la izquierda hasta que sea diferente. O usar lower_bound modificado: cuando arr[mid] == target, guardar y buscar a la izquierda.
¿Cuándo es mejor búsqueda lineal sobre binaria? Da 2 casos.
Lista pequeña (n < 10): overhead de binaria no vale la pena. Datos desordenados: ordenarlos cuesta O(n log n), y la búsqueda es O(1) tras ordenar, pero si solo buscas 1 vez, lineal O(n) es más rápido total.
📝 ¿Listo para evaluarte?
Regístrate o inicia sesión para tomar la autoevaluación o el test de este tema y registrar tu puntaje.