Búsqueda binaria: Implementa el algoritmo de búsqueda binaria para buscar un número en un arreglo ordenado de manera eficiente.
La búsqueda binaria es un algoritmo de búsqueda eficiente que se utiliza para encontrar un elemento específico en un arreglo ordenado. A diferencia de la búsqueda lineal que recorre todo el arreglo, la búsqueda binaria divide el arreglo en dos mitades y compara el elemento buscado con el elemento en la mitad. Luego, se descarta la mitad donde no puede estar el elemento buscado y se repite el proceso hasta encontrar el elemento o determinar que no está en el arreglo.
using System;
namespace BusquedaBinaria
{
class Program
{
static void Main(string[] args)
{
int[] arreglo = { 2, 5, 7, 10, 15, 20, 25, 30 };
int numeroBuscado = 15;
int indiceEncontrado = BusquedaBinaria(arreglo, numeroBuscado);
if (indiceEncontrado != -1)
{
Console.WriteLine($"El número {numeroBuscado} se encuentra en el índice {indiceEncontrado} del arreglo.");
Console.ReadKey();
}
else
{
Console.WriteLine($"El número {numeroBuscado} no se encuentra en el arreglo.");
Console.ReadKey();
}
}
static int BusquedaBinaria(int[] arreglo, int numeroBuscado)
{
int inicio = 0;
int fin = arreglo.Length - 1;
while (inicio <= fin)
{
int medio = inicio + (fin - inicio) / 2;
if (arreglo[medio] == numeroBuscado)
{
return medio;
}
else if (arreglo[medio] < numeroBuscado)
{
inicio = medio + 1;
}
else
{
fin = medio - 1;
}
}
return -1;
}
}
}
En este ejemplo, se busca el número 15 en el arreglo ordenado. La búsqueda binaria encuentra el número en el índice 4 del arreglo, ya que el arreglo está ordenado y el número buscado es igual al elemento en ese índice.
Es importante tener en cuenta que la búsqueda binaria solo funciona en arreglos ordenados. Si el arreglo no está ordenado, es necesario ordenarlo previamente, lo que podría requerir un tiempo adicional. La búsqueda binaria es una estrategia de búsqueda muy eficiente, especialmente para arreglos grandes, ya que reduce el número de comparaciones necesarias para encontrar el elemento buscado.

