
|
Búsqueda Binaria (lista ordenada)La búsqueda binaria es un método simple que se usa para encontrar datos en una lista ordenada, el mecanismo es el siguiente... Si tenemos una lista de n datos, ordenados de mayor a menor y queremos encontrar uno en particular, haremos una búsqueda con dos índices, o sea almacenaremos el valor del elemento comparado más grande y más pequeño hasta arrinconar el resultado o llegar a un punto donde no existe tal elemento pero los dos mas cercanos son estos índices mayor y menor.
Veamos ahora un trozo de código para cuando la lista está ordenada de manera creciente y decreciente, estas dos funciones utilizan la fórmula que vimos en la ilustración anterior para calcular el índice superior e inferior, de esa manera y teniendo en cuenta que la operación de división será redondeada y sólo tendremos un número entero veamos como quedarían nuestras funciones. Orden ascendente de Texto:
Orden descendente de texto:
En estas dos funciones iguales, sólo cambian las comparaciones, el problema en este ejemplo es la manera en la que la función de la biblioteca efectúa la comparación, podemos crear nuestras propias funciones de comparación y evitar usar las de la biblioteca, pero, la biblioteca suele tener funciones optimizadas al nivel del sistema operativo y no la máquina virtual de Java, por lo tanto las usaremos siempre que podamos. Nota: Queda para el lector agregar esta función al ejemplo de las listas y reconstruirla para el caso que los elementos sean números cualesquiera enteros en vez de objetos de texto. leavecomment |
|
|||||||||||||||||||||||
*Hasta que esta leyenda no desaparezca el libro no ha sido terminado, descarge en pdf:
http://compunauta.com/forums/linux/programacion/java/ebook.html