Cómo implementar la búsqueda binaria en c

Cómo implementar la búsqueda binaria en c
Búsqueda binaria es una técnica de búsqueda utilizada para asignar la posición exacta de un elemento requerido en una matriz ordenada. Divide la matriz en dos partes repetidamente desde el intervalo hasta que encuentre el elemento exacto en una matriz. Búsqueda binaria a veces se conoce como divide y conquistaras algoritmo porque divide la matriz en múltiples piezas y realiza la búsqueda hasta que se encuentra el elemento. Binario buscar es un método de búsqueda rápido y simple para encontrar el elemento en una posición específica en tiempo rápido.

En este artículo, le mostraremos cómo implementar búsqueda binaria En el lenguaje de programación C.

Cómo implementar la búsqueda binaria en c

Los desarrolladores usan búsqueda binaria Para simplificar el proceso de búsqueda, ya que es bastante beneficioso para proporcionarle los resultados en muy poco tiempo. La complejidad del tiempo del binario buscar El algoritmo es O (logn), que puede ser efectivo en un programa donde el conjunto de datos determinado es demasiado grande para ser buscado linealmente.

El algoritmo de Búsqueda binaria En C funciona de la siguiente manera:

  • En primer lugar, define el elemento pivote que desea buscar.
  • Si el valor de pivote = valor central, entonces la búsqueda se completa, continúa.
  • Compare el elemento pivote con el elemento central en la matriz.
  • Si el valor de pivote es < than the center element, it will search the element from left side of array to center element.
  • Si el valor de pivote es> que el valor del elemento central, entonces buscará desde el lado derecho de la matriz.
  • Repita los últimos dos pasos hasta que obtenga el pivote.

La siguiente es la implementación de Búsqueda binaria Programa en lenguaje C:

#incluir
int main ()

int i, izquierda, derecha, media, num, pivote, newarr [50];
printf ("Ingrese el número total de elementos:");
scanf ("%d", & num);
printf ("Enter %d elemento entero:", num);
para (i = 0; i < num; i++)
scanf ("%d", y newarr [i]);
printf ("Ingrese el valor que puede encontrar:");
scanf ("%d", y pivot);
izquierda = 0;
Derecho = num - 1;
medio = (izquierda+derecha)/2;
mientras (izquierda <= right)
if (Newarr [Middle] < pivot)
izquierda = medio + 1;
else if (newarr [Middle] == Pivot)
printf (" %d encontrado en la ubicación %D.num ", pivote, medio+1);
romper;

demás
Right = Middle - 1;
medio = (izquierda + derecha)/2;

if (izquierda> a la derecha)
printf ("El elemento no se encuentra! %D No está presente en la lista.num ", pivote);
regresar 0;

En el código anterior, primero inicializamos las variables, luego tomamos el número total de elementos del usuario por numer variable y tomar valores en la matriz desde el usuario hasta i. Luego, desde la variable de pivote, decidimos el valor para coincidir y el inicio coincidente desde el índice de la izquierda 0 para finalizar el índice. Luego dividimos la matriz como medio = (izquierda+derecha)/2. Después de esto, usamos el bucle While para encontrar el pivote a través de la condición IF IF que encuentra el elemento y generar una salida con el número de índice del elemento si se encuentra de lo contrario, lanzará un error no encontrado.

Aquí está la salida del código.

Conclusión

Búsqueda binaria es un algoritmo poderoso para reducir una selección de elementos en una matriz. Divide la sección de la lista en mitades que realmente podrían contener el objeto por la mitad y repetir el proceso nuevamente hasta que solo quede una posición o resultado factible. En las pautas mencionadas anteriormente, hemos visto lo que búsqueda binaria es; y como podemos usar búsqueda binaria En el código de lenguaje C. En resumen, la búsqueda binaria es una técnica de búsqueda muy útil en el lenguaje C.