Hay muchos casos en los que la búsqueda binaria demuestra ser una mejor alternativa a la búsqueda lineal.
La razón por la que se usa principalmente es que la búsqueda binaria tiene una complejidad temporal de O (log (n)) para cada búsqueda en una lista de n elementos, siempre que los elementos estén ordenados.
Además, la búsqueda binaria se puede usar para una variedad de problemas en los que no podemos usar la búsqueda lineal.
- Cómo elegir la estructura de datos correcta
- ¿Debo postularme a trabajos de desarrollo web si puedo construir aplicaciones CRUD pero no asimilo la notación Big O y nunca he trabajado en un proyecto grupal?
- ¿Cuándo es bueno representar un árbol binario como una matriz?
- Cómo imprimir todas las permutaciones de una cadena tanto de forma iterativa como recursiva
- Cómo llegar a la lógica para construir un método de impresión inversa que imprima los nodos en una lista vinculada usando un enfoque recursivo usando Java
Por ejemplo : – Encuentre la raíz cuadrada de un número dado (la respuesta puede ser un valor flotante) sin usar funciones de biblioteca como pow () o sqrt () y la respuesta debe ser correcta al menos 3 lugares después del decimal .
Piensa en este problema: –
En el enfoque lineal, podemos verificar cada número en un intervalo de 0.001 comenzando desde 0 y aumentando 0.001 en cada turno. Obviamente esta solución no es factible porque tomará demasiado tiempo, 1000 * Sqrt (n) para ser precisos.
Si utilizamos la búsqueda binaria, este problema puede resolverse en la complejidad de tiempo log (n), que es mejor en comparación con la búsqueda lineal.
Hay muchos otros casos en los que la búsqueda binaria es mucho más factible que la búsqueda lineal.
Aquí hay algunos problemas que utilizan el concepto de búsqueda binaria:
- SPOJ.com – Problema AGGRCOW
- SPOJ.com – Problema PIE
- SPOJ.com – Problema HACKRNDM
- Entrevista Directi | Set 6 (En el campus para pasantías) – GeeksforGeeks ver pregunta 3 de la ronda 3.
Espero que esto ayude.
PD
Gracias a Sakët por Editar sugerencias.