¿Por qué un algoritmo de búsqueda binaria se considera más importante que la búsqueda lineal menos complicada?

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.

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:

  1. SPOJ.com – Problema AGGRCOW
  2. SPOJ.com – Problema PIE
  3. SPOJ.com – Problema HACKRNDM
  4. 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.

La búsqueda binaria no solo es la complejidad del tiempo más rápida, sino que también es un ejemplo de un algoritmo que se asemeja a cómo los humanos realmente buscarían algo en un entorno particular.

Si estaba buscando una palabra en un diccionario (sin sobresalir las pestañas con letras), es posible que no comience en el medio exacto, pero haría algo similar a una búsqueda binaria. CIERTAMENTE no comenzaría desde el principio y simplemente pasaría las páginas (a menos que esté buscando una palabra que comience con A).

Si tuviera un conjunto de 100 tarjetas de notas con números enteros escritos en orden creciente, haría algo similar para encontrar un número entero específico. ¿Por qué buscar en cada componente cuando puede aprovechar el hecho de que los datos están ordenados? No diría que la búsqueda binaria es más importante, es más interesante, tiene un tiempo de ejecución más rápido y se acerca más a cómo un humano buscaría sin ningún tipo de tabla de contenido (si los datos están ordenados).

En todo caso, la búsqueda binaria es menos complicada: O (log n) para búsqueda binaria versus O (n) para búsqueda lineal.

Si bien es cierto que la búsqueda binaria requiere una entrada ordenada (la ordenación toma O (n log n)) mientras que la búsqueda lineal no, el tiempo necesario para ordenar los datos una vez vale la pena dada la frecuencia con la que realizará búsquedas en la práctica.

No estoy de acuerdo con que la búsqueda binaria sea más importante. La búsqueda lineal es más importante.

La búsqueda binaria se puede reemplazar fácilmente mediante BST. La búsqueda lineal funciona incluso en elementos desordenados y no compartibles.

Sin embargo, la búsqueda lineal no es muy interesante como algoritmo. Es posible que la gente realmente no hable de ello explícitamente, porque es solo un maldito bucle, de lo que hay que hablar. Entonces quizás por eso la búsqueda binaria recibe más amor.

Es más rápido para elementos ordenados. O (log N) que es bastante eficiente que la búsqueda lineal que toma O (N)

Menos complejidad de tiempo de la búsqueda binaria.