Búsqueda binaria Integrantes: Humberto Raíz Walter Gómez Isabel Hernández
Introducción La búsqueda es una operación que tiene por objeto la localización de un elemento dentro de la estructura de datos. La búsqueda binaria consiste en dividir el intervalo de la búsqueda en dos partes, comparando el elemento buscado con el que ocupa la posición central en el arreglo. Los datos deben de estar ordenados Se utiliza para acortar el tiempo de búsqueda [0][1][2][3][4][5][6][7][8][9][10][11]
Funcionamiento Ubica el elemento central del arreglo, sumando la primera y ultima posición de este y lo divide entre dos [0][1][2][3][4][5][6][7][8][9][10][11]
Funcionamiento Ubica el elemento central del arreglo, sumando la primera y ultima posición de éste y lo divide entre dos [0][1][2][3][4][5][6][7][8][9][10][11]
Funcionamiento Ubica el elemento central del arreglo, sumando la primera y ultima posición de éste y lo divide entre dos [0][1][2][3][4][5][6][7][8][9][10][11]
[0][1][2][3][4][5][6][7][8][9][10][11] Funcionamiento Ubicado el elemento central divide el arreglo en dos (sub-arreglo) Identifica en que sub-arreglo se encuentra el dato a buscar (derecho o izquierda)
[0][1][2][3][4][5][6][7][8][9][10][11] Funcionamiento Ubicado el elemento central divide el arreglo en dos (sub-arreglo) Identifica en que sub-arreglo se encuentra el dato a buscar (derecho o izquierda)
Funcionamiento Si el dato es menor al elemento central, usa el sub- arreglo de la izquierda IZQUIERDA
Funcionamiento Si el dato es mayor al elemento central, usa el sub- arreglo de la derecha DERECHA Realiza el mismo proceso hasta encontrar el elemento buscado
Algoritmo
Ejemplo [0][1][2][3][4][5][6][7][8][9][10][11]
Ejemplo Si el dato es mayor al elemento central, usa el sub- arreglo de la derecha, si no el de la izquierda 40>a[5] [0][1][2][3][4][5][6][7][8][9][10][11]
Ejemplo Si el dato es mayor al elemento central, usa el sub- arreglo de la derecha, si no el de la izquierda El procedimiento se repite con el sub arreglo seleccionado [0][1][2][3][4][5][6][7][8][9][10][11]
Ejemplo [0][1][2][3][4][5][6][7][8][9][10][11]
Ejemplo [0][1][2][3][4][5][6][7][8][9][10][11]
Ejemplo Si el dato es mayor al elemento central, usa el sub- arreglo de la derecha, si no el de la izquierda 40>a[8] [0][1][2][3][4][5][6][7][8][9][10][11]
Ejemplo [0][1][2][3][4][5][6][7][8][9][10][11]
Ejemplo [0][1][2][3][4][5][6][7][8][9][10][11]
Ejemplo [0][1][2][3][4][5][6][7][8][9][10][11]
Ejemplo [0][1][2][3][4][5][6][7][8][9][10][11]
Ejemplo Si el dato es mayor al elemento central, usa el sub- arreglo de la derecha, si no el de la izquierda 40>a[9] no es Mayor a [0][1][2][3][4][5][6][7][8][9][10][11]
Ejemplo Si el dato es mayor al elemento central, usa el sub- arreglo de la derecha, si no el de la izquierda 40<a[9] no es Menor a [0][1][2][3][4][5][6][7][8][9][10][11]
Ejemplo Si el dato es mayor al elemento central, usa el sub- arreglo de la derecha, si no el de la izquierda 40=a[9] Si es igual a [0][1][2][3][4][5][6][7][8][9][10][11]
Ejemplo Por lo tanto tendremos como resultado que nuestro dato buscado se encuentra en la posición a[9] del arreglo Elemento encontrado [0][1][2][3][4][5][6][7][8][9][10][11]