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
Publicar un comentario