Descubriendo el Tesoro: Un Viaje a Través de los Algoritmos de Búsqueda en C#

 


En el reino encantado de C#topia, donde los castillos eran estructuras de datos y los caminos eran flujos de algoritmos, vivían dos héroes legendarios conocidos por su habilidad para encontrar tesoros ocultos: Sir Linear y Lady Binary.

**Sir Linear**, el caballero de la búsqueda paso a paso, era conocido por su determinación y paciencia. Armado con su lanza de iteración, comenzaba en la puerta del castillo y revisaba cada habitación, una por una, buscando el tesoro escondido.



public int BuscarLinealmente(int[] castillo, int tesoro) {

    for (int i = 0; i < castillo.Length; i++) {

        if (castillo[i] == tesoro)

            return i; // ¡Tesoro encontrado!

    }

    return -1; // Tesoro no encontrado

}


Lady Binary, la duquesa de la división y conquista, era admirada por su eficiencia y rapidez. En los castillos donde todo estaba en perfecto orden, ella podía encontrar el tesoro dividiendo el castillo en dos, descartando la mitad donde sabía que el tesoro no podía estar, y repitiendo este proceso hasta que el tesoro aparecía.


public int BuscarBinariamente(int[] castilloOrdenado, int tesoro) {
    int izquierda = 0;
    int derecha = castilloOrdenado.Length - 1;

    while (izquierda <= derecha) {
        int centro = izquierda + (derecha - izquierda) / 2;
        if (castilloOrdenado[centro] == tesoro)
            return centro; // ¡Tesoro encontrado!
        if (castilloOrdenado[centro] < tesoro)
            izquierda = centro + 1;
        else
            derecha = centro - 1;
    }
    return -1; // Tesoro no encontrado
}

Y así, en C#topia, Sir Linear y Lady Binary enseñaron a los habitantes que, ya sea paso a paso o dividiendo y conquistando, siempre hay un camino para encontrar lo que buscan.

Y colorín colorado, esta búsqueda ha terminado.



Comentarios

Entradas populares de este blog

La transformación del software de Ana

Metodos de Ordenamiento