Sigueme en Facebook Sigueme en Twitter Sigueme en Instagram Sigueme en Youtube
JC Mouse Bolivia
Index / Java / Búsqueda binaria (Binary Search)

Búsqueda binaria (Binary Search)

Autor jc mouse jueves, marzo 3, 2016

Un algoritmo de búsqueda binaria se emplea para buscar un valor en particular en un arreglo previamente ordenado. Para implementar este algoritmo se compara el elemento a buscar con un elemento cualquiera del array (normalmente el elemento central) si el valor de éste es mayor que el del elemento buscado se repite el procedimiento en la parte del array que va desde el inicio de éste hasta el elemento tomado, en caso contrario se toma la parte del array que va desde el elemento tomado hasta el final. De esta manera obtenemos intervalos cada vez más pequeños, hasta que se obtenga un intervalo indivisible. Si el elemento no se encuentra dentro de este último entonces se deduce que el elemento buscado no se encuentra en todo el array. Es decir  “Divide y Conquista”

Por ejemplo en un array de números enteros de 19 elementos, previamente ordenado, queremos buscar el número 47, entonces partiríamos de:

binary search

Lo primero que hacemos es dividir el array en 2 y preguntar si el numero del medio es igual, mayor o menor que el número buscado, si es igual, la búsqueda termina. En nuestro ejemplo es mayor por lo que nos olvidamos de la primera mitad, sabemos que el numero que buscamos no esta ahí.

busqueda binaria

Volvemos a dividir el array restante en dos y realizamos la misma pregunta. En esta ocasión el 47 esta en la primera mitad.

java binary

Dividimos una vez más y el array y este continua reduciéndose.

binario netbeans

Finalmente nos quedo un array con solo un elemento, realizamos la misma pregunta y encontramos el número que buscábamos, el 47. La búsqueda termina con solo 4 iteraciones.

binario

Si realizáramos una búsqueda secuencial, es decir: posición 1, posición 2, posición 3, posición 4,etc hasta llegar a la posición que ocupa el numero 47, la misma búsqueda nos hubiera llevado 11 iteraciones.

El algoritmo de búsqueda binaria es sencillo y pequeño, pero a la vez para un programador novato un poco abstracto, por lo que creo es mucho mejor para el aprendizaje, ver el funcionamiento del algoritmo de búsqueda en acción.

El programa de búsqueda (código fuente) mostrado en el video de arriba puede descargarlo gratis a continuación:

<<ENLACE POBRE “Búsqueda Binaria”>>

El código se encuentra comentado 🙂 pero ante cualquier duda, abajo esta la sección de comentarios.

IDE: Netbeans 8 java 8

enjoy!!!

Tags

Si te ha gustado podrías compartirlo o dejar un comentario. ¡Muchas gracias!
Autor: JC Mouse

Yo soy yo :) JC Mouse, Soy orgullosamente boliviano soy fundador y CEO de la web jc-Mouse.net uno de las pocas web en emprendimiento y tecnología en Bolivia.

Toda la información que encuentres en este sitio es y sera completamente gratis siempre, puedes copiar, descargar y re-publicar si así lo deseas en otros blogs o sitios web, solo te pido a cambio que dejes una referencia a esta web. Esto nos ayuda a crecer y seguir aportando. Bye

Enjoy! :)

También Te Podría Interesar

Crear ayuda HTML para programa con JavaFX Swing

Crear ayuda HTML para programa con JavaFX Swing

En este post veremos como crear una aplicación de ayuda al usuario similar al extinto javahelp. Pero en esta oportunidad...

TextToSpeech: Convierte texto a voz

TextToSpeech: Convierte texto a voz

TextToSpeech o TTS, es el sintetizador de voz para android, en los celulares inteligentes viene un motor TTS por defecto...

Yachaywasi – Crea exámenes tipo test para android

Yachaywasi – Crea exámenes tipo test para android

Yachaywasi versión 3.1 es una aplicación para android que te permite crear, editar y realizar exámenes tipo test cómodam...

Buscar dispositivos con Java Media Framework

Buscar dispositivos con Java Media Framework

Java Media Framwork ademas de permitir reproducir archivos multimedia, tambien permite trabajar con dispositivos de capt...

Recortar imagen

Recortar imagen

En esta oportunidad dejo a considerancion un codigo realizado en Java/Netbeans para recortar una imagen visualmente Vide...

Introducción a los Gráficos en Pygame

Introducción a los Gráficos en Pygame

Antes de programar un videojuego, es necesario saber: Cómo representar figuras en la pantalla Cómo se manejan las coorde...

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

Comparte lo que sabes

Categorias

Últimas entradas

PHPUnit es un framework que se utiliza para escribir tests en PHP, Netbeans nos permite configurarlo y usarlo fácilmente...

Una Prueba Unitaria, es una forma de comprobar que nuestro código, hace lo que se supone debe hacer; es decir, se asegur...

La prueba del camino básico, es una prueba de “caja blanca” que consiste en verificar el código de nuestros...

Si quieres cambiar el nombre de tus atributos sin tener que reescribir código java por X o Y razón, GSON te permite reno...

Android Bolivia

Bandera en Alto